这个问题以前用模拟的方法来解决亚军,正如溶液是一个通用的解决方案。

这里使用数学方法:剩下的孙子法(当然,被称为中国剩余法)。由于建议的孙子。所以也承认外国的孙子是数学家。

参考数论建议大家学习的专业书籍法律;

在这里,颜格依照数论的方法写出全过程的程序,不像某些博客仅仅给出终于步骤。方便大家结合程序和专业书本学习这个定律。

int g, s, t;
const int m1 = 23;
const int m2 = 28;
const int m3 = 33; void extGCD(int a, int b)
{
if (b == 0)
{
s = 1, t = 0, g = a;
}
else
{
extGCD(b, a % b);
int tmp = s;
s = t;
t = tmp - a / b * t;
}
} int a, b, c, m;
void preCalculateABCM()
{
m = m1 * m2 * m3; //本题==21252 int M1 = m / m1;
int M2 = m / m2;//=759
int M3 = m / m3; extGCD(M1, m1);
int y1 = s;
if (y1 < 0)
{
int y = -y1;
y %= m1;
y1 = m1 - y;
} extGCD(M2, m2);
int y2 = s;
if (y2 < 0)
{
int y = -y2;
y %= m2;
y2 = m2 - y;
} extGCD(M3, m3);
int y3 = s;
if (y3 < 0)
{
int y = -y3;
y %= m3;
y3 = m3 - y;
} a = M1 * y1;
b = M2 * y2;
c = M3 * y3;
} int meetDates(int p, int e, int i, int d)
{
//p %= m1, e %= m2, i %= m3;
int x = p * a + e * b + i * c;
x %= m; if(x <= d) x = m - (d - x);
else x = x - d;
return x;
} int main()
{
preCalculateABCM();
int p,e,i,d, n = 0;
while (cin>>p>>e>>i>>d && -1 != d)
{
n++;
printf("Case %d: the next triple peak occurs in %d days.\n",
n, meetDates(p, e, i, d));
}
return 0;
}

版权声明:笔者靖心脏,景空间地址:http://blog.csdn.net/kenden23/,只有经过作者同意转载。

POJ 1006 Biorhythms 中国的法律来解决剩余的正式的更多相关文章

  1. POJ.1006 Biorhythms (拓展欧几里得+中国剩余定理)

    POJ.1006 Biorhythms (拓展欧几里得+中国剩余定理) 题意分析 不妨设日期为x,根据题意可以列出日期上的方程: 化简可得: 根据中国剩余定理求解即可. 代码总览 #include & ...

  2. POJ 1006 - Biorhythms (中国剩余定理)

    B - Biorhythms Time Limit:1000MS     Memory Limit:10000KB     64bit IO Format:%I64d & %I64u Subm ...

  3. POJ 1006 Biorhythms(中国剩余定理)

    题目地址:POJ 1006 学习了下中国剩余定理.參考的该博客.博客戳这里. 中国剩余定理的求解方法: 假如说x%c1=m1,x%c2=m2,x%c3=m3.那么能够设三个数R1,R2,R3.R1为c ...

  4. [POJ 1006] Biorhythms C++解题

        Biorhythms Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 107569   Accepted: 33365 ...

  5. poj 1006:Biorhythms(水题,经典题,中国剩余定理)

    Biorhythms Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 110991   Accepted: 34541 Des ...

  6. poj 1006 Biorhythms (中国剩余定理模板)

    http://poj.org/problem?id=1006 题目大意: 人生来就有三个生理周期,分别为体力.感情和智力周期,它们的周期长度为23天.28天和33天.每一个周期中有一天是高峰.在高峰这 ...

  7. POJ 1006 Biorhythms --中国剩余定理(互质的)

    Biorhythms Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 103539   Accepted: 32012 Des ...

  8. POJ 1006 Biorhythms (数论-中国剩余定理)

    Biorhythms Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 111285   Accepted: 34638 Des ...

  9. POJ 1006 Biorhythms (中国剩余定理)

    在POJ上有译文(原文右上角),选择语言:简体中文 求解同余方程组:x=ai(mod mi) i=1~r, m1,m2,...,mr互质利用中国剩余定理令M=m1*m2*...*mr,Mi=M/mi因 ...

随机推荐

  1. 微软中国裁员曝光:在CD结束后!薪酬不变!

    聚众抗议的前诺基亚员工(腾讯科技配图) 腾讯科技 郭晓峰 腾讯科技刚刚获取了一份微软设备事业部中国区管理团队4日晚间发给被裁员工的补偿方案邮件. 邮件内容显示,微软承诺在收购诺基亚交易结束(2014年 ...

  2. poj 2408 Anagram Groups(hash)

    id=2408" target="_blank" style="">题目链接:poj 2408 Anagram Groups 题目大意:给定若干 ...

  3. sql pivot、unpivot和partition by用法

    原文:sql pivot.unpivot和partition by用法 演示脚本 from sys.sysobjects where name = 'Student' AND type = 'U') ...

  4. Cookie概念

    ASP.NET Cookie概念.CURD操作.原理.实际运用   会话就WEB开发来说,一个会话就是你通过浏览器与服务器之间的一次通话,只不过这种通话是以用浏览器浏览的方式来实现的. 就会话的应用来 ...

  5. DOM手术台

    CSS分类 排队: <div id="box" style="width:200px;border:1px solid red color:red;font-siz ...

  6. OnWndMsg处理功能

    于MFC于, OnWndMsg功能,如以下处理步骤: 1)首先.被推断消息有一个消息响应函数.例如OnLButtonDown()处理"左新闻"新闻. 2)数.这里以MFC 的pro ...

  7. 解决ASP.NET Web API Json对象循环参考错误

    前言 一般我们在开法 ASP.NET Web API 时,如果是使用 Entity Framework 技术来操作数据库的话,当两个 Entity 之间包含导览属性(Navigation Proper ...

  8. Nancy 框架

    Nancy 框架 Nancy 框架 1.是一个轻量级用于构建http相应的web框架: 2.与mvc类似,有自己的路由机制: 3.可以处理 DELETE ,  GET ,  HEAD ,  OPTIO ...

  9. 2015西雅图微软总部MVP峰会

    2015 西雅图微软总部MVP峰会记录   2015 西雅图微软总部MVP峰会记录 今年决定参加微软MVP全球峰会,在出发之前本人就已经写这篇博客,希望将本次会议原汁原味奉献给大家 因为这次是本人第一 ...

  10. Cocos2d-x3.0游戏实例《不要救我》第一章——前言

    我们可以学习? 这是一个非常easy游戏.但更多的东西用(对于初学者).至少,对于它的一个例子,有点多. 笨木头花心贡献.啥?花心?不呢.是用心~ 转载请注明,原文地址:http://www.benm ...