HDU 2028Lowest Common Multiple Plus
解题报告: 题目大意是输入一个数n,然后输入n个整数,求这n个整数的最小公倍数。
此题可以用GCD,即最大公约数,从输入的第一个输入开始,将结果保存,每输入一个整数就将其乘以保存的结果,然后除以保存的结果跟输入的这个输入的最大公约数。
附上17行代码。
View Code
1 #include<stdio.h> 2 int GCD(int x,int y) { 3 return x%y==0? y:GCD(y,x%y); 4 } 5 int main() { 6 int n; 7 while(scanf("%d",&n)!=EOF) { 8 int ans=1,d; 9 for(int i=1;i<=n;++i) { 10 scanf("%d",&d); 11 ans/=GCD(ans,d); 12 ans*=d; 13 } 14 printf("%d\n",ans); 15 } 16 return 0; 17 }