博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 1019 Least Common Multiple
阅读量:5303 次
发布时间:2019-06-14

本文共 940 字,大约阅读时间需要 3 分钟。

这一题是比较基础的数论题了,求N个数的最小公倍数,思路就是先求出两个数的最小公倍数,然后再用这个最小公倍数与下一个数求最小公倍数,则得三个数的最小公倍数,然后再用这三个数的最小公倍数与第四个数求最小公倍数,得这四个数的最小公倍数……如此递推,就OK了。不过要注意算最小公倍数的时候小心数据溢出!

AC code:

View Code
1 #include 
2 using namespace std; 3 int n, m; 4 int arr[1000]; 5 6 int gcd(int a, int b) //求出最大公约数 7 { 8 if(b) 9 return gcd(b, a % b);10 else 11 return a;12 }13 int lcm(int a, int b) //注意这里不能用a*b/gcd(a,b),数据会溢出14 {15 return a / gcd(a, b) * b;16 }17 int main()18 {19 while(scanf("%d", &n) != EOF)20 {21 while(n--){22 scanf("%d", &m);23 int first;24 scanf("%d", &first);25 for (int i = 1; i < m; i++) //两两计算最小公倍数26 {27 scanf("%d", &arr[i]);28 first = lcm(first, arr[i]);29 }30 printf("%d\n", first);31 }32 }33 }

 

转载于:https://www.cnblogs.com/gaigai/archive/2012/04/24/2468274.html

你可能感兴趣的文章
Android Activity的任务栈和四大启动模式
查看>>
table左边固定-底部横向滚动条-demo
查看>>
MySQL事件异常记录
查看>>
Redis 发布订阅
查看>>
Redis 事务
查看>>
中国创新教育交流会杂感
查看>>
逍遥笔记
查看>>
JSON 命令行工具
查看>>
博士生传给硕士生的经验
查看>>
ubuntu 查看软件包中的内容 (已经安装)
查看>>
iperf 一个测试网络吞吐的工具
查看>>
IOR and mdtest - measure parallel file system I/O performance at both the POSIX and MPI-IO level.
查看>>
文件系统测试工具整理
查看>>
好用的性能检测工具 - Glances
查看>>
tcp滑动窗口和读写缓冲区
查看>>
GO 使用静态链接库编译 生成可执行文件 使用第三方 .a 文件,无源码构造
查看>>
ssh 使用指定网卡 连接特定网络
查看>>
鸿蒙操作系统发布会 分析 记录
查看>>
浅谈python 中正则的一些函数
查看>>
app生命周期之即将关闭
查看>>