这题是有中文版的(右上角选项卡里把default改成简体中文)然后看到他把biorhythms翻成生理周期我可耻的笑了......23333

如果没有限定从日期d开始,完全可以从第一天起开始计时,因此设从第一天开始x天生理周期重合,很容易列出等式:

x=p+k1*23=e+k2*28= i+k3*33

接着转成同余式(方程组)

x ≡ p (mod 23)

x ≡ e (mod 28)

x ≡ i (mod 33)

哈 23 28 33 正好是互质的免去了另外的转换了,这时想直接套用中国剩余的模板显然是很蠢的做法,因为此时模数 23 28 33 都已给出很容易直接算出Mi,Mi’ :

M1=28*33=924

M1’*924≡1 (mod 23)

解得M1’=6

同理M2=23*33=759 M2’=19

M3=23*28=644 M3’=2

因此x=ΣMi*Mi’*ki(k1=p,k2=e,k3=i)=924*6*p+759*19*e+644*2*i

= 5544*p+14421*e+1288*i

因为要求0~23*28*33范围内的一组解并且有一个初始时间d 因此最终结果就是(5544*p+14421*e+1288*i-d)% 21252 再判断下防止结果为负数就行了

#include<cstdio>

#include<iostream>

#include<string.h>

using namespace std;

int main()

{

int p,e,i,d,t=0,ans;

scanf("%d%d%d%d",&p,&e,&i,&d);

while (p!=-1)

{

ans=(5544*p+14421*e+1288*i-d)% 21252;

if (ans<=0)ans+=21252;

printf("Case %d: the next triple peak occurs in %ddays.\n",++t,ans);

scanf("%d%d%d%d",&p,&e,&i,&d);

}

return 0;

}

POJ 1006 生理周期【数论】的更多相关文章

  1. POJ 1006 生理周期(中国剩余定理)

    POJ 1006 生理周期 分析:中国剩余定理(注意结果要大于d即可) 代码: #include<iostream> #include<cstdio> using namesp ...

  2. [POJ 1006]生理周期

    Description 人生来就有三个生理周期,分别为体力.感情和智力周期,它们的周期长度为23天.28天和33天.每一个周期中有一天是高峰.在高峰这天,人会在相应的方面表现出色.例如,智力周期的高峰 ...

  3. poj——1006 生理周期

    生理周期 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 138291   Accepted: 44300 Descripti ...

  4. poj 1006 生理周期(中国剩余定理)

    题目 题目有中文翻译,自行查看. 中国剩余定理,基础的,但是我最早还是一窍不通,后来看了各种网上的博客上的相关解析,终于有点懂了,下面这个链接是让我懂得蛮多的一个博客,虽然大体上和其他的差不多. 代码 ...

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

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

  6. POJ - 1006 Biorhythms 周期相遇 两个思路程序

    Description Some people believe that there are three cycles in a person's life that start the day he ...

  7. 生理周期POJ 1006

    Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 138101   Accepted: 44225 Description 人生 ...

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

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

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

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

随机推荐

  1. UVM之uvm_phase

    UVM中的phase机制很有意思,它能让UVM启动之后,自动执行所有的流程.UVM 的user guide 中对uvm_phase的定义如下: This base class defines ever ...

  2. 分布式定时任务的redis锁实现

    一个web项目如果部署为分布式时,平时常见的定时服务在一定的间隔时间内,可能出现多次重复调用的问题.而此时由于是不同容器之间的竞争,因此需要容器级别的锁 Redis为单进程单线程模式,采用队列模式将并 ...

  3. Windows定时任务管理以及服务管理

    1.NSSM.exe https://nssm.cc/ 2.Topshelf 引用地址:https://www.cnblogs.com/guogangj/p/10093102.html#4136330

  4. COGS 696. [IOI1996][USACO 2.3] 最长前缀

    ★   输入文件:prefix.in   输出文件:prefix.out   简单对比时间限制:1 s   内存限制:128 MB 描述 USACO 2.3.1 IOI96 在生物学中,一些生物的结构 ...

  5. (八)VMware harbor 成员管理

    (一)VMware harbor 成员管理 可以给项目添加成员,成员必须是已经注册的成员. 添加成员后,成员就会有4种角色:项目管理员,维护人员,开发人员,访客. 1.1 新建成员 1.2 修改角色 ...

  6. 线程锁(互斥锁Mutex)

    线程锁(互斥锁Mutex) 一个进程下可以启动多个线程,多个线程共享父进程的内存空间,也就意味着每个线程可以访问同一份数据,此时,如果2个线程同时要修改同一份数据,会出现什么状况? # -*- cod ...

  7. _IO_FILE

    hctf2017的babyprintf解法是house of orange,深入学习了一下,牵扯出许多知识,这里先进行第一步:_IO_FILE结构 0x00 _IO_FILE glibc-2.2.1\ ...

  8. Mac OSX用 dd 命令,浇灌ISO镜像到USB驱动器

    Mac OSX用 dd 命令,浇灌ISO镜像到USB驱动器 字数244 阅读197 评论0 喜欢0 把ISO镜像转换为一个可启动的USB设备.一种可行的方法是通过OS X的Terminal “浇灌”到 ...

  9. Respond.js-----20150415

    Respond.js让IE6-8支持CSS3 Media Query. Bootstrap里面就引入了这个js文件,从名字看出来是自适应的兼容.打开IE看了一下,效果挺好的,自适应的效果挺好的.Res ...

  10. PHP必知必会

    MQ(消息队列) 消息队列主要用于以下场景: 1. 上传图片,用户需要迅速反馈,把上传图片的后续操作交给consumer 2. A用户对B用户发消息 3. 日志记录,APP发生的任何警告错误日志都要被 ...