POJ 1006 生理周期
来源:互联网 发布:战国史se人物数据 编辑:程序博客网 时间:2024/05/22 10:54
POJ1006 生理周期
http://poj.org/problem?id=1006
Description
Input
当p = e = i = d = -1时,输入数据结束。
Output
采用以下格式:
Case 1: the next triple peak occurs in 1234 days.
注意:即使结果是1天,也使用复数形式“days”。
Sample Input
0 0 0 00 0 0 1005 20 34 3254 5 6 7283 102 23 320203 301 203 40-1 -1 -1 -1
Sample Output
Case 1: the next triple peak occurs in 21252 days.Case 2: the next triple peak occurs in 21152 days.Case 3: the next triple peak occurs in 19575 days.Case 4: the next triple peak occurs in 16994 days.Case 5: the next triple peak occurs in 8910 days.Case 6: the next triple peak occurs in 10789 days.
其实这题是一个裸的中国剩余定理的题。
我也不知道怎么讲比较好,本菜鸟数学不好 -> (什么,不知道中国剩余定理?~!@#¥%……&%¥#你需要这个: http://blog.csdn.net/ctrlc_v/article/details/76556941)
代码:
#include <algorithm>
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
int a[4],m[4];
void exgcd(int a,int b,int &x,int &y)
{
if(b==0)
{
x=1;
y=0;
return;
}
exgcd(b,a%b,x,y);
int tmp=x;
x=y;
y=tmp-(a/b)*y;
}
int CRT(int a[4],int m[4],int n)
{
int M=1;
int ans=0;
for(int i=1;i<=n;i++)
M*=m[i];
for(int i=1;i<=n;i++)
{
int x,y;
int Mi=M/m[i];
exgcd(Mi,m[i],x,y);
ans=(ans+Mi*x*a[i])%M;
}
if(ans<0)
ans+=M;
return ans;
}
int main()
{
ios::sync_with_stdio(false);
int p,e,i,d,t=1;
while (cin >> p >> e >> i >> d)
{
if(p==-1 && e==-1 && i==-1 && d==-1)
break;
a[1]=p;
a[2]=e;
a[3]=i;
m[1]=23;
m[2]=28;
m[3]=33;
int ans=CRT(a,m,3);
if(ans<=d)
ans+=21252;
cout << "Case " << t++ << ": the next triple peak occurs in " << ans-d << " days." << endl;
}
return 0;
}
- POJ 1006 生理周期
- POJ 1006 生理周期
- POJ-1006-生理周期
- POJ 1006 生理周期
- [POJ] 1006 -> 生理周期
- POJ 1006 生理周期
- POJ 1006 生理周期
- POJ 1006生理周期
- POJ 1006 生理周期
- poj 1006 Biorhythms 生理周期
- poj 1006 Biorhythms生理周期
- POJ - 1006 生理周期/Biorhythms
- 生理周期 (poj 1006) 题解
- POJ 1006 生理周期 C++
- Poj 1006 生理周期(中国剩余定理)
- poj 1006 生理周期 中国剩余定理
- POJ:1006--BIORHYTHM(生理周期计算)
- poj 1006 生理周期 【中国剩余定理】
- STM32的USART发送数据时如何使用TXE和TC标志(认识1)
- scrapy中的item_loader
- Python--get和post请求
- 创建JPA工程时提示:at least one user library must be selected
- hdu 1159 Common Subsequence
- POJ 1006 生理周期
- Codeforces 835 D Palindromic characteristics 区间dp
- 获取浏览器/界面宽高的问题
- 浅谈spring中@Conditional(条件注解)
- 巧用BeanUtils
- 训练日记-1
- Android零基础入门第17节:Android开发第一个控件,TextView属性和方法大全
- 漫步最优化二十一——全局收敛
- OpenCL优化方法-消除访问内存数组引起的循环依赖关系