Biorhythms POJ - 1006 中国剩余定理
发布时间:2020-12-14 05:14:40 所属栏目:大数据 来源:网络整理
导读:定理证明:https://blog.csdn.net/d_x_d/article/details/48466957 https://blog.csdn.net/lyy289065406/article/details/6648551 关键思路在于构造一个每部分膜另外一个不包含在部分内的部分的余数是1? 然后把各部分分别乘以对应的余数? 其中题目给出的第一
定理证明:https://blog.csdn.net/d_x_d/article/details/48466957 https://blog.csdn.net/lyy289065406/article/details/6648551 关键思路在于构造一个每部分膜另外一个不包含在部分内的部分的余数是1? 然后把各部分分别乘以对应的余数? 其中题目给出的第一天天数? 就是? (n+d)%xn 的余数 不用处理? ? ? 1 2 #include<iostream> 3 using namespace std; 4 5 int main(void) 6 { 7 int p,e,i,d; 8 int time=1; 9 while(cin>>p>>e>>i>>d) 10 { 11 if(p==-1 && e==-1 && i==-1 && d==-1) 12 break; 13 14 int lcm=21252; // lcm(23,28,33) 15 //找到分别余1的x1*x2*k的k然后乘以余数 16 //x1*x2*k%x3 17 int n=(5544*p+14421*e+1288*i-d+21252)%21252; 18 if(n==0) 19 n=21252; 20 cout<<"Case "<<time++<<": the next triple peak occurs in "<<n<<" days."<<endl; 21 } 22 return 0; 23 } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |