生理周期 poj
2017-03-26 12:31
176 查看
此题为枚举,但是技巧在于用一些初等数论的知识节省枚举的时间、提高枚举的效率;
第一个循环每次加上23,第二个循环每次加上23与28的最小公倍数,即是23*28,大大节省时间。
注意:由于找的是下一次生理周期,所以第一次枚举的i必须从23开始,不能为零。
第一个循环每次加上23,第二个循环每次加上23与28的最小公倍数,即是23*28,大大节省时间。
注意:由于找的是下一次生理周期,所以第一次枚举的i必须从23开始,不能为零。
#include <iostream> #include <cmath> #include <climits> #include <string> #include <cctype> #include <vector> #include <cmath> #include <cstring> #include <array> using namespace std; int main() { int p,e,i,d; int j,mark; cin>>p>>e>>j>>d; for(i=23;;i+=23){ if((p+i-e)%28==0) break; } mark=p+i; //从mark天开始找 for(i=0;;i+=23*28){ if((mark+i-j)%33==0) break; } cout<<mark+i-d<<endl; //扣去起始天数d }
相关文章推荐
- [POJ 1006]生理周期
- POJ 1006 Biorhythms 生理周期 水题
- POJ:1006--BIORHYTHM(生理周期计算)
- poj1006生理周期
- POJ 1006 生理周期【数论】
- POJ 1006 生理周期
- POJ1006 Biorhythms(生理周期,中国剩余定理详述)
- poj-4148-生理周期-C语言-枚举
- POJ:1006--BIORHYTHM(生理周期计算)
- poj 1006 生理周期 中国剩余定理
- POJ 2977 生理周期 解题报告
- POJ 1006 生理周期 C++
- POJ 1006 生理周期
- poj 1006 生理周期 【中国剩余定理】
- poj 生理周期 1006 (中国剩余定理)水
- [POJ] 1006 -> 生理周期
- POJ1006生理周期----【模板】CRT中国剩余定理即孙子定理即求解一次同余方程
- poj 1006 生理周期 - 详解
- poj 1006 生理周期 中国剩余定理
- POJ 1006 生理周期