日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

2977 生理周期(简单的枚举例子)

發(fā)布時間:2023/12/14 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2977 生理周期(简单的枚举例子) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
描述

人生來就有三個生理周期,分別為體力、感情和智力周期,它們的周期長度為23天、28天和33天。每一個周期中有一天是高峰。在高峰這天,人會在相應的方面表現(xiàn)出色。例如,智力周期的高峰,人會思維敏捷,精力容易高度集中。因為三個周期的周長不同,所以通常三個周期的高峰不會落在同一天。對于每個人,我們想知道何時三個高峰落在同一天。對于每個周期,我們會給出從當前年份的第一天開始,到出現(xiàn)高峰的天數(shù)(不一定是第一次高峰出現(xiàn)的時間)。你的任務是給定一個從當年第一天開始數(shù)的天數(shù),輸出從給定時間開始(不包括給定時間)下一次三個高峰落在同一天的時間(距給定時間的天數(shù))。例如:給定時間為10,下次出現(xiàn)三個高峰同天的時間是12,則輸出2(注意這里不是3)。

輸入
一行,包含四個整數(shù):p, e, i和d,相鄰兩個整數(shù)之間用單個空格隔開。 p, e, i分別表示體力、情感和智力高峰出現(xiàn)的時間(時間從當年的第一天開始計算)。d 是給定的時間,可能小于p, e, 或 i。 所有給定時間是非負的并且小于等于365, 所求的時間小于等于21252。
輸出
一個整數(shù),即從給定時間起,下一次三個高峰同天的時間(距離給定時間的天數(shù))。
樣例輸入
4 5 6 7
樣例輸出
16994 1 /* 2 簡單枚舉的例子 3 題意描述:輸入三個周期的新一輪開始時間,和當前的時間,計算并輸出從當前時間到滿足三個周期的時間的最少天數(shù)*/ 4 /*解題思路:剛開始以為求三個數(shù)的最小公倍數(shù),其實仔細一想,三個周期的開始時間不同,采用枚舉思想,找出滿足三個條件 5 的那一天,再減去初始天數(shù)即可。*/ 6 /* 7 方法一(超時) 8 #include<stdio.h> 9 int main() 10 { 11 int p,e,i,d; 12 int j,t=1; 13 while(scanf("%d%d%d%d",&p,&e,&i,&d),p + e + i + d != -4) 14 { 15 for(j=d+1;j<=21252;j++) 16 { 17 if((j-p)%23==0 && (j-e)%28==0 && (j-i)%33==0) 18 break; 19 } 20 printf("%d\n",j-d); 21 //printf("Case %d: the next triple peak occurs in %d days.\n",t++,j-d); 22 } 23 return 0; 24 } 25 */ 26 /* 27 方法二 28 枚舉是一種基于已有的知識進行答案猜測的一種問題求解策略。 29 需要注意的問題 30 建立簡潔的數(shù)學模型 31 盡可能的減少搜索空間 32 采用合適的搜索順序 33 此題中需要滿足(j-p)%23==0 && (j-e)%28==0 && (j-i)%33==0 34 減少搜索開銷的辦法是當結果需要滿足多個條件是,先滿足一個,將條件二的搜索空間減少,進而將條件三的搜索空間也減小*/ 35 36 #include<stdio.h> 37 int main() 38 { 39 int p,e,i,d; 40 int j; 41 while(scanf("%d%d%d%d",&p,&e,&i,&d) != EOF) 42 { 43 for(j=d+1;j<=21252;j++) 44 { 45 if((j-p)%23==0) 46 break; 47 } 48 for(;j<=21252;j+=23) 49 { 50 if((j-e)%28==0) 51 break; 52 } 53 for(;j<=21252;j+=23*28)//分步乘法 54 { 55 if((j-i)%33==0) 56 break; 57 } 58 printf("%d\n",j-d); 59 } 60 return 0; 61 } 62 63 64 /*另外補充一下求n個數(shù)的最小公倍數(shù)和求n個數(shù)的最大公約數(shù)(暫無)*/ 65 /*總結一句話就是兩兩求lcm,最后結果就是n個數(shù)的最小公倍數(shù) 66 #include <iostream> 67 using namespace std; 68 int gcd(int a,int b) 69 { 70 if (b==0) 71 return a; 72 return gcd(b, a%b); 73 } 74 int main() 75 { 76 int t; 77 cin >> t; 78 while (t--) 79 { 80 int i,n,m,temp=0,ans=1; 81 cin >> n; 82 for (i=0; i<n; i++) 83 { 84 cin >> m; 85 temp=gcd(ans,m); 86 ans=ans/temp*m; 87 } 88 cout << ans << '\n'; 89 } 90 return 0; 91 } 92 */

?

轉載于:https://www.cnblogs.com/wenzhixin/p/8428684.html

總結

以上是生活随笔為你收集整理的2977 生理周期(简单的枚举例子)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。