1. Lowest Common Multiple Plus

求n个数的最小公倍数。

Input

输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数。为每组测试数据输出它们的最小公倍数,每个测试实例的输出占一行。你可以假设最后的输出是一个32位的整数。

Sample Input

2 4 6
3 2 5 7

Sample Output

12
70

该题只要按顺序向每两个求最小公倍数即可,并将所得倍数与下一个数字再进行运算求最小公倍数,循环最终得到所需值。
虽然原题说可以假设最后的输出是一个32位的整数,但是在中间运算过程中,可能会存在溢出问题,例如a * b可能会溢出,因此可以用a / gcd(a, b) * b来代替a * b / gcd(a, b),或者直接将定义long long a, b避免溢出。

//第一种
#include <stdio.h>int gcd(int a, int b){int x;if(a < b){x = a;a = b;b = x;}while(x = a % b){a = b;b = x;}return b;
}int main (void)
{int n, a, b;while(scanf("%d", &n) != EOF){scanf("%d", &a);while(--n){scanf("%d", &b);a = a  / gcd(a, b) * b;//注意此处a * b可能溢出}printf("%d\n", a);}return 0;
}//第二种,long long型
#include <stdio.h>int gcd(long long  a, long long b){int x;if(a < b){x = a;a = b;b = x;}while(x = a % b){a = b;b = x;}return b;
}int main (void)
{int n;long long a, b;while(scanf("%d", &n) != EOF){scanf("%lld", &a);while(--n){scanf("%lld", &b);a = a / gcd(a, b) * b;}printf("%lld\n", a);}return 0;
}

2.汉字统计

统计给定文本文件中汉字的个数。

Input

输入文件首先包含一个整数n,表示测试实例的个数,然后是n段文本。

Output

对于每一段文本,输出其中的汉字的个数,每个测试实例的输出占一行。 Hint:从汉字机内码的特点考虑~

Sample Input

2
WaHaHa! WaHaHa! 今年过节不说话要说只说普通话waHaHa!WaHaHa!
马上就要期末考试了Are you ready?

Sample Output

14
9

本题主要在汉字机内码的存储特点,每个汉字站两个字节,而每个字节最高位为1,因此以十进制表示就是负数,所以只要得到为负值的个数,再除以2就是汉字的个数。(只是linux不能直接调用gets(),无法直接测试…)

#include <stdio.h>
#include <string.h>
int main (void)
{int i, n, len, count;char ch[1000];scanf("%d\n", &n);while(n--){count = 0;gets(ch);len = strlen(ch);for(i = 0; i < len; i++){if(ch[i] < -1){count++;}}printf("%d\n", count / 2);}return 0;
}

Lowest Common Multiple Plus ——ACM相关推荐

  1. HDU2028 Lowest Common Multiple Plus【GCD+LCM】

    Lowest Common Multiple Plus Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java ...

  2. HDU2028 Lowest Common Multiple Plus【入门】

    Lowest Common Multiple Plus Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (J ...

  3. hdu 2028 Lowest Common Multiple Plus

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2028 题目大意:求最小公倍数,用辗转相除法. 1 #include <stdio.h> 2 ...

  4. 【HDU 2028】Lowest Common Multiple Plus

    Problem Description 求n个数的最小公倍数. Input 输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数. Output 为每组测试数据输出它们的最小公倍数 ...

  5. HDU - 2028 Lowest Common Multiple Plus

    Description 求n个数的最小公倍数. Input 输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数. Output 为每组测试数据输出它们的最小公倍数,每个测试实例的 ...

  6. HDU 4913 Least common multiple

    /* hdu4913 Least common multiple http://acm.hdu.edu.cn/showproblem.php?pid=4913 离散化 线段树 统计逆序数思想 tips ...

  7. 杭电2028--Lowest Common Multiple Plus

    Lowest Common Multiple Plus Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (J ...

  8. hdoj-2028-Lowest common multiple plus

    题目:Lowest common multiple plus 代码: #include<stdio.h> int common(int a,int b)//计算最大公约数 {int c=a ...

  9. Lowest Common Ancestor of a Binary Search Tree(树中两个结点的最低公共祖先)

    题目描述: Given a binary search tree (BST), find the lowest common ancestor (LCA) of two given nodes in ...

最新文章

  1. 代数系统思维导图_线性代数思维导图专题
  2. 一个简单的blog系统(九) 增加标签和标签页面
  3. hive2solr问题小结
  4. python的for语句中i未被定义_python – PyLint:使用可能未定义的循环变量警告
  5. 元宇宙突然大火,可是,到底什么是元宇宙呢?
  6. [Usaco2008 Feb]Eating Together麻烦的聚餐[最长不下降子序列]
  7. linux 驱动读写文件,Linux下读写寄存器
  8. [零基础学JAVA]Java SE面向对象部分-17.面向对象高级(05)
  9. iOS 获取本地视频的缩略图
  10. 微信支付全流程对接文档
  11. 微软苏州校招笔试 12月27日 By Java
  12. 什么是ribbon?
  13. 记录一下自己的春招,唯品会、360、京东offer已收、腾讯offer_call已达!!!
  14. 06_XML的写入_dom4j添加、删除、修改Xml文件内容
  15. 交换机端口mtu值最大_中低端交换机修改三层接口MTU值的说明
  16. 【人因工程】熵值法与CRITIC法求权重
  17. 温暖的奢侈,当手机遇到机器人
  18. 阿里云服务(三)—对象存储OSS和块存储
  19. php中美元符号是什么意思,js程序中美元符号$是什么
  20. reload php-fpm命令,php-fpm的reload过程

热门文章

  1. 课时57.HTML被废弃的标签(掌握)
  2. Spring实战(前言:Spring容器)
  3. 【链接】Linux C/C++ 学习路线-已拿腾讯、百度 offer
  4. 【[SHOI2015]超能粒子炮·改】
  5. Java多线程:线程间通信之volatile与sychronized
  6. 去除aspx生成的页面最开始的空行
  7. C++:cin.getline
  8. java mysql_Java与mysql的连接
  9. android 系统挂载ext4格式U盘,macOS 系统下格式化 U 盘为 ext4 格式
  10. java整型和浮点型_Java基本的程序结构设计 整形和浮点型