原题:http://acm.hdu.edu.cn/showproblem.php?pid=1019
思路:
这个题只是求最小公倍数,用欧几里得定理,先求两个数的最小公倍数,再依次求下去即可。
源代码:
#include <iostream> using namespace std; int LCM(int m,int n) { int dividend,divisor,r; dividend=m; divisor=n; r=dividend % divisor; while (r!=0) { dividend=divisor; divisor=r; r=dividend % divisor; } return m/divisor*n; } int main() { int N; cin>>N; for(int i=0;i<N;i++) { int M,a,b,result=0; cin>>M; cin>>b; result=LCM(b,1); for (int j=1;j<M;j++) { cin>>a; result=LCM(a,result); } cout<<result<<endl; } return 0; }
本文介绍了解决HDU 1019问题的方法,该问题是关于计算多个整数之间的最小公倍数。通过使用欧几里得算法求最大公约数,进而求出最小公倍数。文章提供了完整的C++实现代码。
247

被折叠的 条评论
为什么被折叠?



