作者在 2008-05-07 11:06:20 发布以下内容
http://acm.hdu.edu.cn/showproblem.php?pid=1788
简单题 不过一开始还是被迷惑住了 以为是用中国剩余定理写的
不过后来发现原来只要求所有数的最大公约数减去a就是结果了
#include<stdio.h>
__int64 gcd(__int64 a,__int64 b)
{
if(b==0)return a;
else return gcd(b,a%b);
}
int main()
{
__int64 n,a,k1,k2,k[10],i;
while(scanf("%I64d%I64d",&n,&a)!=EOF&&n&&a)
{
scanf("%I64d",&k[0]);
k1=k[0];
for(i=1;i<n;i++)
{
scanf("%I64d",&k[i]);
k2=gcd(k1,k[i]);
k1=k[i]*k1/k2;
// printf("%I64d %I64d\n",k1,k2);
}
printf("%I64d\n",k1-a);
}
return 0;
}