原题:http://acm.hdu.edu.cn/showproblem.php?pid=2028
思路:
我在上一次training题解里发过类似的题,都是用欧几里得定理做的。这次把函数写得清晰点,其实没差。
源代码:
#include<cstdio> int gcd(int a,int b) { int i; while (a%b) { i=a%b; a=b; b=i; } return b; } int gbd(int a,int b) { return a/gcd(a,b)*b; } int main() { int n,i,s,a; while (~scanf("%d",&n)) { scanf("%d",&s); for (i=1;i<n;++i) { scanf("%d",&a); s=gbd(s,a); } printf("%d\n",s); } return 0; }