枚举-生理周期
Posted zhmlzhml
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了枚举-生理周期相关的知识,希望对你有一定的参考价值。
1 #include <iostream> 2 #include<cstdio> 3 using namespace std; 4 int main(){ 5 int p,e,i,d; 6 int num=0; 7 while(1){ 8 cin>>p; 9 if(p==-1) 10 break; 11 cin>>e>>i>>d; 12 13 14 num++; 15 int q; 16 /* 17 * 底下这块,我本来想挨个试来着,,, 18 * 但是确实慢 19 * 就是三个for确定q( q初始值为d+1) 20 * 每次循环结束的条件就是能除断呗(不满足就退出循环,余数为0是除断) 21 * 然后后面两个for的增长,需要满足是前面那个的倍数(要不还得加特判) 22 * 23 * 24 * 25 * 其实挨个来就是慢了一点嘛,,,(bushi) 26 * 27 * 28 * 29 * 30 */ 31 for(q=d+1;(q-p)%23;q++); 32 for(;(q-e)%28;q+=23); 33 for(;(q-i)%33;q+=28*23); 34 cout<<"case"<<num<<":"; 35 cout<<q-d<<endl; 36 } 37 38 39 }
#include <iostream>
#include<cstdio>
using namespace std;
int main(){
int p,e,i,d;
int num=0;
while(1){
cin>>p;
if(p==-1)
break;
cin>>e>>i>>d;
num++;
int q;
/*
* 底下这块,我本来想挨个试来着,,,
* 但是确实慢
* 就是三个for确定q( q初始值为d+1)
* 每次循环结束的条件就是能除断呗(不满足就退出循环,余数为0是除断)
* 然后后面两个for的增长,需要满足是前面那个的倍数(要不还得加特判)
*
*
*
* 其实挨个来就是慢了一点嘛,,,(bushi)
*
*
*
*
*/
for(q=d+1;(q-p)%23;q++);
for(;(q-e)%28;q+=23);
for(;(q-i)%33;q+=28*23);
cout<<"case"<<num<<":";
cout<<q-d<<endl;
}
}
以上是关于枚举-生理周期的主要内容,如果未能解决你的问题,请参考以下文章