Biorhythms POJ - 1006 中国剩余定理

定理证明:https://blog.csdn.net/d_x_d/article/details/48466957

https://blog.csdn.net/lyy289065406/article/details/6648551

关键思路在于构造一个每部分膜另外一个不包含在部分内的部分的余数是1  然后把各部分分别乘以对应的余数

其中题目给出的第一天天数  就是  (n+d)%xn 的余数 不用处理

 #include<iostream>
using namespace std; int main(void)
{
int p,e,i,d;
int time=;
while(cin>>p>>e>>i>>d)
{
if(p==- && e==- && i==- && d==-)
break; int lcm=; // lcm(23,28,33)
//找到分别余1的x1*x2*k的k然后乘以余数
//x1*x2*k%x3
int n=(*p+*e+*i-d+)%;
if(n==)
n=;
cout<<"Case "<<time++<<": the next triple peak occurs in "<<n<<" days."<<endl;
}
return ;
}
上一篇:微信小程序 网络请求之re.request 和那些坑


下一篇:Idea_编译报错 javacTask: 源发行版 1.6 需要目标发行版 1.6