莫名奇妙的ac了,一开始要么runtime error,要么wrong answer
结果在不断修改中就ac了,估计还得多看几遍,不然真的不知道原先错哪里了!
话说那个函数很是巧妙,辗转相除法!!很好,很简洁!以后要注意尽量用简单的算法去解决问题
#include <stdio.h>
long long int re(long long int a,long long int b);
int main(void)
{
long long int a[1001],c;
int n,i;
while(scanf("%d",&n)!=EOF)
{
if(n==1)
{
scanf("%lld",&a[0]);
printf("%lld",a[0]);
continue;
}
scanf("%lld %lld",&a[0],&a[1]);
c=a[0]*a[1]/re(a[0],a[1]);
for(i=2;i<n;i++)
{
scanf("%d",&a[i]);
/*printf("%d %d",c,a[i]);*/
c=c*a[i]/re(c,a[i]);
/*printf("%d",re(4,6));*/
}
printf("%lld\n",c);
}
return 0;
}
long long int re(long long int a,long long int b)
{
if(a>b)
return (b!=0)?re(b,a%b):a;
else
return (a!=0)?re(a,b%a):b;
}