#include <cstdio>
int main()
{
// freopen("in.txt","r",stdin);
int p,e,i,d,kase=;
while(scanf("%d%d%d%d",&p,&e,&i,&d))
{
if(p==- && e == - && i == - && d== -) break;
const int m1 = ,m2 = ,m3 = ;
const int M1 = m2*m3, M2 = m1*m3, M3 = m1*m2;
const int m11 = ,m22=,m33=;
const int M =m1*m2*m3;
int x = p*m11*M1 + e * m22*M2 + i * m33*M3;
x = (x+M)%M;
if(x-d <= )
printf("Case %d: the next triple peak occurs in %d days.\n",++kase,x-d+M);
else printf("Case %d: the next triple peak occurs in %d days.\n",++kase,x-d);
}
return ;
}

首先了解中国剩余定理,根据扩展欧几里得定理求出M1‘,M2'和M3’的正整数解分别为6,19,2。。。直接算的话M2‘为-9,但是要是正整数解,所以可以用-9+28 = 19.

下面介绍一下中国剩余定理,又叫孙子定理。

若m1,m2,```,mk为两两互质的k个整数,有数x%mi = bi(1<=i<=k).bi已知,求x的解

令M = m1*m2*```*mk,Mi = M/mi```Mi'为满足(Mi'Mi)%mi = 1的正整数解···

x = sum(bi*Mi' * Mi)%M````

验证x是解,用x%mi = bi```,然后证明x是唯一解,假设y也是解,得到x = y%M...所以x就是全部的解了·····

不明白还可以去看下面的链接:

http://www.cnblogs.com/walker01/archive/2010/01/23/1654880.html

POJ 1006 中国剩余定理的更多相关文章

  1. Biorhythms POJ - 1006 中国剩余定理

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

  2. POJ - 2891 中国剩余定理

    \(mod\)存在不互素情况下的CRT #include<iostream> #include<algorithm> #include<cstdio> #inclu ...

  3. POJ 1006-Biorhythms,中国剩余定理,学信安的路过!

                                                       Biorhythms 我竟然1A了, 终于从一天的浑噩中找回点自信了.人生第一次做中国剩余定理的题 ...

  4. POJ1006——中国剩余定理

    题目:http://poj.org/problem?id=1006 中国剩余定理:x= m/mj + bj + aj 讲解:http://www.cnblogs.com/MashiroSky/p/59 ...

  5. POJ 1006:Biorhythms 中国剩余定理

    Biorhythms Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 121194   Accepted: 38157 Des ...

  6. acm数论之旅--中国剩余定理

    ACM数论之旅9---中国剩余定理(CRT)(壮哉我大中华╰(*°▽°*)╯)   中国剩余定理,又名孙子定理o(*≧▽≦)ツ 能求解什么问题呢? 问题: 一堆物品 3个3个分剩2个 5个5个分剩3个 ...

  7. 《孙子算经》之"物不知数"题:中国剩余定理

    1.<孙子算经>之"物不知数"题 今有物不知其数,三三数之剩二,五五数之剩七,七七数之剩二,问物几何? 2.中国剩余定理 定义: 设 a,b,m 都是整数.  如果 m ...

  8. [TCO 2012 Round 3A Level3] CowsMooing (数论,中国剩余定理,同余方程)

    题目:http://community.topcoder.com/stat?c=problem_statement&pm=12083 这道题还是挺耐想的(至少对我来说是这样).开始时我只会60 ...

  9. poj1006中国剩余定理

    Biorhythms Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 103506   Accepted: 31995 Des ...

随机推荐

  1. My97日期控件 选择日期区间

    <script language="javascript" type="text/javascript" src="My97DatePicker ...

  2. iOS开发之UITapGestureRecognizer单双击

    转自手势开发 IOS开发之手势——UIGestureRecognizer 共存 在 iPhone 或 iPad 的开发中,除了用 touchesBegan / touchesMoved / touch ...

  3. 如何myEclipse修改工程项目的运行环境和编译环境

    修改工程运行环境(开发环境)JRE 右击工程名-----选择properties----选择对话框左侧的java build path----查看使用的JRE 选择Library选项卡中的,选中使用中 ...

  4. Linux 下 git连接github的使用

    1.安装git sudo apt-get install git 2.创建github帐号 3.Linux创建SSH密钥: ssh-keygen  //一直默认 4.将公钥加入到Github账户信息A ...

  5. postgresql - 事务

    1.事务的使用 begin;//开启关闭自动提交的事务 insert into testtab01 values(0); rollback;//事务回滚 2.SavePoint的使用 begin;// ...

  6. (41) Aeroo 模板设计基础教程

    1.     理论基础 注:我采用libreoffice5.2设计讲解 1.1.     定义模板指令 模板指令的语法和Genshi 模板语言相兼容,可以用Libreoffice( Write, Ca ...

  7. 读javascript高级程序设计01-基本概念、数据类型、函数

    一. javascript构成 1.javascript实现由三部分组成: ECMAScript:核心语言功能 DOM:文档对象模型,提供访问和操作网页内容的方法和接口 BOM:浏览器对象模型,提供与 ...

  8. 0511Scrum项目3.0

    一.product backlog ID name Imp Est how to demo notes 1 主界面 3  3 用来登陆,离开,设置,关于按钮   2 算术界面 5 10 先用背景图来装 ...

  9. alter table的用法

    在数据库开发过程中,除了用得最多的数据库查询外,我们有时也需要去修改数据表的定义,比如在已存在的数据表中新增列和删除列等.这篇文章就总结一下alter table语句的用法. 示例代码如下. USE ...

  10. iOS开发数据库篇—FMDB简单介绍

    iOS开发数据库篇—FMDB简单介绍 一.简单说明 1.什么是FMDB FMDB是iOS平台的SQLite数据库框架 FMDB以OC的方式封装了SQLite的C语言API 2.FMDB的优点 使用起来 ...