POJ 1006 生理周期【数论】
这题是有中文版的(右上角选项卡里把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 生理周期【数论】的更多相关文章
- POJ 1006 生理周期(中国剩余定理)
POJ 1006 生理周期 分析:中国剩余定理(注意结果要大于d即可) 代码: #include<iostream> #include<cstdio> using namesp ...
- [POJ 1006]生理周期
Description 人生来就有三个生理周期,分别为体力.感情和智力周期,它们的周期长度为23天.28天和33天.每一个周期中有一天是高峰.在高峰这天,人会在相应的方面表现出色.例如,智力周期的高峰 ...
- poj——1006 生理周期
生理周期 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 138291 Accepted: 44300 Descripti ...
- poj 1006 生理周期(中国剩余定理)
题目 题目有中文翻译,自行查看. 中国剩余定理,基础的,但是我最早还是一窍不通,后来看了各种网上的博客上的相关解析,终于有点懂了,下面这个链接是让我懂得蛮多的一个博客,虽然大体上和其他的差不多. 代码 ...
- POJ 1006 Biorhythms (数论-中国剩余定理)
Biorhythms Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 111285 Accepted: 34638 Des ...
- POJ - 1006 Biorhythms 周期相遇 两个思路程序
Description Some people believe that there are three cycles in a person's life that start the day he ...
- 生理周期POJ 1006
Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 138101 Accepted: 44225 Description 人生 ...
- POJ 1006 - Biorhythms (中国剩余定理)
B - Biorhythms Time Limit:1000MS Memory Limit:10000KB 64bit IO Format:%I64d & %I64u Subm ...
- poj 1006 Biorhythms (中国剩余定理模板)
http://poj.org/problem?id=1006 题目大意: 人生来就有三个生理周期,分别为体力.感情和智力周期,它们的周期长度为23天.28天和33天.每一个周期中有一天是高峰.在高峰这 ...
随机推荐
- Actionbar Demo
源码下载:http://download.csdn.net/detail/bx276626237/8874119
- 双飞翼布局介绍-始于淘宝UED-2011年淘宝玉伯写的
仔细分析各种布局的技术实现,可以发现下面三种技术被经常使用: 浮动 float 负边距 negative margin 相对定位 relative position 这是实现布局的三个最基本的原子技术 ...
- uvm.sv——UVM之道
文件: $UVM_HOME/src/uvm.sv 类: 无 `include "uvm_pkg.sv" Thus spake the UVM master programm ...
- run_test() 验证平台的入口
Run,just run! ——阿甘正传 一个简单的例子: module tb_top; dut u_dut (); initial begin run_test(); end config ...
- java 序列化Serializable 详解
Java 序列化Serializable详解(附详细例子) 1.什么是序列化和反序列化Serialization(序列化)是一种将对象以一连串的字节描述的过程:反序列化deserialization是 ...
- Spark中Java函数的使用方法笔记
1: map 函数map是对RDD中的每个元素都执行一个指定的函数来产生一个新的RDD. 任何原RDD中的元素在新RDD中都有且只有一个元素与之对应. 2: mapPartitions函数</p ...
- hadoop ssh 问题WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
0.0.0.0: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@0.0.0.0: @ WARNING: REMOTE HO ...
- JavaScript实现的水果忍者游戏,支持鼠标操作
智能手机刚刚普及时,水果忍者这款小游戏可谓风靡一时.几年过去了,现在,让我们用纯JavaScript来实现这个水果忍者游戏,就算是为了锤炼我们的JavaScript开发技能吧. 大家可以通过这个链接在 ...
- 粗谈Android未来前景
Andriod作为智能手机机兴起的操作系统,有着非同寻常的地位.而相对于他的竞争对手ios,两大系统各有自身的优缺点,有太多的不同点,但相比较用户体验来说ios略胜一筹. Android系统极具开发性 ...
- UVA - 12264 Risk (二分,网络流)
题意比较坑,移动完以后的士兵不能再次移动,不然样例都过不了... 最小值最大满足决策单调性所以二分答案,跑网络流验证是否可行. 这种题重点在建图,为了保证只移动一次,拆点,一个入点一个出点,到了出点的 ...