标签:nes 题目 name highlight pre long namespace can blog
根据题目容易得到N%Mi=Mi-a。
那么可得N%Mi+a=Mi。
两侧同时对Mi取余,可得(N+a)%Mi=0。
将N+a看成一个变量,就可以把原问题转化成求Mi的LCM,最后减去a即可。
#include<cstdio> #include<algorithm> #include<iostream> using namespace std; typedef long long ll; int K; ll a; int main(){ ll x; while(1){ cin>>K>>a; if(K==0 && a==0){ break; } ll lcm=1; for(int i=1;i<=K;++i){ scanf("%I64d",&x); lcm=lcm/__gcd(lcm,x)*x; } printf("%I64d\n",lcm-a); } return 0; }
【数论】【中国剩余定理】【LCM】hdu1788 Chinese remainder theorem again
标签:nes 题目 name highlight pre long namespace can blog
原文地址:http://www.cnblogs.com/autsky-jadek/p/6606827.html