HDU 1788: Chinese remainder theorem again
Posted rhythm-
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU 1788: Chinese remainder theorem again相关的知识,希望对你有一定的参考价值。
题目描述
输入
输出
样例输入
2 1
2 3
0 0
样例输出
5
分析:表面中国剩余定理。。。
#include <iostream> #include <string> #include <cstdio> #include <cstring> #include <algorithm> #define range(i,a,b) for(int i=a;i<=b;++i) #define rerange(i,a,b) for(int i=a;i>=b;--i) #define LL long long #define CLS(arr) memset(arr,0,sizeof(arr)) using namespace std; LL l,n; LL gcd(LL a,LL b){ return !b?a:gcd(b,a%b); } void solve(){ while(cin>>l>>n,l,n){ LL lcm=1,num; range(i,1,l){ cin>>num; lcm=lcm*num/gcd(lcm,num); } cout<<lcm-n<<endl; } } int main(int argc, char *argv[]){ solve(); return 0; }
以上是关于HDU 1788: Chinese remainder theorem again的主要内容,如果未能解决你的问题,请参考以下文章
HDU 1788: Chinese remainder theorem again
HDU 1788 Chinese remainder theorem again 中国剩余定理
hdu_1788_Chinese remainder theorem again (lcm