1 条题解
-
2
一道数论题,主要考察对最小公倍数的应用。
思路
这道题明显就是求个数的最小公倍数,我们可以用乘积除以最大公因数的方法,每次求出前 个数的最小公倍数。
提醒
本题要注意数据量过大,会超整形的数据量,所以我们需要用到超长整形来存储数据,因为 明显超过了 的数据量。
参考代码:
#include<bits/stdc++.h> using namespace std; long long n,a[11],lcmm; long long gcdd(long long x, long long y) {//辗转相除法 if(y==0) return x; else return gcdd(y,x%y); } int main() { cin>>n; for(long long i=1;i<=n;i++) cin>>a[i]; lcmm=a[1]; for(long long i=1;i<=n;i++) lcmm=lcmm*a[i]/gcdd(lcmm,a[i]);//依次计算最小公倍数 cout<<lcmm; return 0; }
- 1
信息
- ID
- 658
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 5
- 标签
- 递交数
- 72
- 已通过
- 27
- 上传者