题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1788
说明: 题目很水 提到一个定理,求多个数的最小公倍数转化为求两个数的最小公倍数方法。 然后就是 a=b(mod m1) a=b(mod m2) 等价于a=b(mod [m1,m2] )
#include<iostream>
using namespace std;
typedef long long inta;
int gcd(int a,int b)
{
if(b==0)
return a;
else return gcd(b,a%b);
}
int main()
{
int k,a;
while(cin>>k>>a)
{
if(k==0&&a==0) break;
inta ans=1;
int temp;
for(int i=0;i<k;i++)
{
cin>>temp;
ans=ans/gcd(ans,temp)*temp;
}
cout<<ans-a<<endl;
}
}