求n个数的最小公倍数。

Input

输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数。

Output

为每组测试数据输出它们的最小公倍数,每个测试实例的输出占一行。你可以假设最后的输出是一个32位的整数。

Sample Input

  1. 2 4 6
  2. 3 2 5 7

Sample Output

  1. 12
  2. 70
  3.  
  4. // 数据溢出
  1. #include<stdio.h>
  2.  
  3. int cmd(int a, int b)
  4. {
  5. int t=;
  6. if(a<b)
  7. { t=a; a=b; b=t; }
  8. while(t!=)
  9. { t=a%b; a=b; b=t; }
  10. return a;
  11. }
  12.  
  13. int cmm(int a, int b)
  14. {
  15. int d;
  16. d=cmd(a, b);
  17. return a*b/d;
  18. }
  19.  
  20. int main()
  21. {
  22. int n, x,y;
  23. while(~scanf("%d", &n))
  24. {
  25. y=;
  26. while(n--)
  27. {
  28. scanf("%d", &x);
  29. y=cmm(x,y);
  30. }
  31. printf("%d\n", y);
  32. }
  33. return ;
  34. }

WA

  1. // 把cmm()中的return a*b/d;改为return a/d*b; 在数据接近int能表示的最大值时,先乘很可能溢出
  1. #include<stdio.h>
  2.  
  3. int cmd(int a, int b)
  4. {
  5. int t=;
  6. if(a<b)
  7. { t=a; a=b; b=t; }
  8. while(t!=)
  9. { t=a%b; a=b; b=t; }
  10. return a;
  11. }
  12.  
  13. int cmm(int a, int b)
  14. {
  15. int d;
  16. d=cmd(a, b);
  17. return a/d*b;
  18. }
  19.  
  20. int main()
  21. {
  22. int n, x,y;
  23. while(~scanf("%d", &n))
  24. {
  25. y=;
  26. while(n--)
  27. {
  28. scanf("%d", &x);
  29. y=cmm(x,y);
  30. }
  31. printf("%d\n", y);
  32. }
  33. return ;
  34. }

AC*2

  1. // 从最大数开始枚举
  1. #include<stdio.h>
  2.  
  3. int main()
  4. {
  5. int n, x[],y;
  6. while(~scanf("%d", &n))
  7. {
  8. y=;
  9. for(int i=;i<n;i++)
  10. {
  11. scanf("%d", &x[i]);
  12. y=y>x[i]?y:x[i];
  13. }
  14. for(int i=;i<n;i++)
  15. if(y%x[i]!=)
  16. { y++; i=-; }
  17. printf("%d\n", y);
  18. }
  19. return ;
  20. }

AC

  1. // 补充:用unsigned int能表示的正数多一些

3F - Lowest Common Multiple Plus的更多相关文章

  1. hdu 2028 Lowest Common Multiple Plus(最小公倍数)

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

  2. Lowest Common Multiple Plus

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

  3. 最大公约数最小公倍数 (例:HDU2028 Lowest Common Multiple Plus)

    也称欧几里得算法 原理: gcd(a,b)=gcd(b,a mod b) 边界条件为 gcd(a,0)=a; 其中mod 为求余 故辗转相除法可简单的表示为: int gcd(int a, int b ...

  4. HDU2028 Lowest Common Multiple Plus

    解题思路:最近很忙,有点乱,感觉对不起自己的中国好队友.   好好调整,一切都不是问题,Just do it ! 代码: #include<cstdio> int gcd(int a, i ...

  5. 2028 ACM Lowest Common Multiple Plus

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=2028 思路:最一想到的就是暴力求解,从1开始一直到最后的答案,一直来除以给出的数列的数,直到余数为0:当然 ...

  6. HDU2028:Lowest Common Multiple Plus

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

  7. HDU 2028 Lowest Common Multiple Plus

    http://acm.hdu.edu.cn/showproblem.php?pid=2028 Problem Description 求n个数的最小公倍数.   Input 输入包含多个测试实例,每个 ...

  8. 26最小公倍数 lowest common multiple

    题目描述 正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数. 输入描述:输入两个正整数A和B. 输出描述:输出A和B的最小公倍数. 输入例子 ...

  9. 【HDU 2028】Lowest Common Multiple Plus

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

随机推荐

  1. python的垃圾回收机制【转】

    http://python.jobbole.com/82061/ http://www.jianshu.com/p/1e375fb40506 https://www.cnblogs.com/vamei ...

  2. Win2012&Win2008双系统启动菜单设置

    电脑最初安装的是XP,后来想升级操作系统,但XP里又有很多常用软件不想重装,于是装了一个Win2008 R2的双系统,安装好2008R2后,系统自动产生一个2008R2的启动菜单,可以选择进入2008 ...

  3. 什么是JIT,写的很好

    什么是JIT 一些其他解释的网站:http://www.sohu.com/a/169704040_464084 1.动态编译(dynamic compilation)指的是“在运行时进行编译”:与之相 ...

  4. devmapper: Thin Pool has 162394 free data blocks which is less than minimum required 163840 free data blocks. Create more free space in thin pool or use dm.min_free_space option to change behavior

    问题: 制作镜像的时候报错 devmapper: Thin Pool has 162394 free data blocks which is less than minimum required 1 ...

  5. springboot 线程池

    我们常用ThreadPoolExecutor提供的线程池服务,springboot框架提供了@Async注解,帮助我们更方便的将业务逻辑提交到线程池中异步执行,今天我们就来实战体验这个线程池服务: 本 ...

  6. sqlite3调试

    [sqlite3调试] 1.adb shell 激活模拟器shell. 2.cd /data/data/com.xxx.xxx/databases 进入app 数据库目录. 3.ls 查看有哪些数据库 ...

  7. 解决在linux环境安装setuptools的相关错误

    RuntimeError: Compression requires the (missing) zlib module 缺少zlib包 解决方案     yum install zlib yum i ...

  8. js实现多级复选框的交互

    功能介绍   整个复选框是包含多级,可能有父级,可能有子级,在勾选复选框时,要做两种判断: 1要判断它下面有没有子级,有子级将子级的选中状态checked变得和自己一样. 2要判断它是否有父级,有父级 ...

  9. 【C++】预处理过程与语句总结

    转载请保留: http://www.cnscn.org(CNS电脑与英语学习网) Author: cnscn http://www.cnscn.org 1)预处理 根据已放置在文件中的预处理指令来修改 ...

  10. Javascript之基本类型和引用类型

    ECMAScript变量可能包含两种不同数据类型的值:基本类型值和引用类型值,基本类型值指的是简单的数据段,而引用类型值指那些可能由多个值构成的对象. 在将一个值赋给变量时,解析器必须确定这个值是基本 ...