本以为是道中国剩余定理的题 结果是一道水题啊 题意就是求最小公倍数然后减去a就可以了
#include <iostream> #include<cstdio> #include<cstring> using namespace std; long long gcd(long long a,long long b) { return b==0?a:gcd(b,a%b); } int main() { long long i,a,m,ans; while(cin>>i>>a,a+i) { ans=1; for(int j=0; j<i; j++) cin>>m,ans=ans/gcd(ans,m)*m; cout<<ans-a<<endl; } return 0; }