poj1006生理周期(中国剩余定理)
生活随笔
收集整理的這篇文章主要介紹了
poj1006生理周期(中国剩余定理)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1 /*
2 中國剩余定理可以描述為:
3 若某數(shù)x分別被d1、、…、dn除得的余數(shù)為r1、r2、…、rn,則可表示為下式:
4 x=R1r1+R2r2+…+Rnrn+RD
5 其中R1是d2、d3、…、dn的公倍數(shù),而且被d1除,余數(shù)為1;(稱為R1相對于d1的數(shù)論倒數(shù))
6 R1 、
7 R2 、
8 … 、
9 Rn是d1、d2、…、dn-1的公倍數(shù),而且被dn除,余數(shù)為1;
10 D是d1、d2、…、的最小公倍數(shù);
11 R是任意整數(shù)(代表倍數(shù)),可根據(jù)實際需要決定;
12 且d1、、…、必須互質(zhì),以保證每個Ri(i=1,2,…,n)都能求得.
13 */
14 #include<iostream>
15 using namespace std;
16 int main(){
17 int a, b, c, d;
18 int cnt=0;
19 int x23=5544, x13=14421, x12=1288, x=21252;
20 //x23為b,c的公倍數(shù), 且x23%==1 x23為a,c的公倍數(shù), 且x23%==1 x13為a,b的公倍數(shù), 且x12%c==1
21 //a, b, c 為余數(shù)
22 while(cin>>a>>b>>c>>d && a!=-1){
23 int res=(a*x23 + b*x13 + c*x12) % x;
24 res-=d;
25 if(res<=0)
26 res=(res+x-1)%x+1;
27 cout<<"Case "<<++cnt<<": the next triple peak occurs in "<<res<<" days."<<endl;
28 }
29 return 0;
30 }
?
轉(zhuǎn)載于:https://www.cnblogs.com/hujunzheng/p/3885714.html
總結(jié)
以上是生活随笔為你收集整理的poj1006生理周期(中国剩余定理)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 天箭科技是国企吗
- 下一篇: java JFileChooser选择文