hdu 1788 Chinese remainder theorem again 多个数的最小公倍数
题目地址: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;
}
}
posted on 2013-07-10 04:46 814jingqi的ACM 阅读(122) 评论(0) 收藏 举报
浙公网安备 33010602011771号