信息学奥赛一本通(1312:【例3.4】昆虫繁殖)
生活随笔
收集整理的這篇文章主要介紹了
信息学奥赛一本通(1312:【例3.4】昆虫繁殖)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1312:【例3.4】昆蟲繁殖
時間限制: 1000 ms ??? ??? 內存限制: 65536 KB
提交數: 18314 ??? 通過數: 8979
【題目描述】
科學家在熱帶森林中發現了一種特殊的昆蟲,這種昆蟲的繁殖能力很強。每對成蟲過x個月產y對卵,每對卵要過兩個月長成成蟲。假設每個成蟲不死,第一個月只有一對成蟲,且卵長成成蟲后的第一個月不產卵(過x個月產卵),問過z個月以后,共有成蟲多少對?0≤x≤20,1≤y≤20,X≤z≤50。
【輸入】
x,y,z的數值。
【輸出】
過z個月以后,共有成蟲對數。
【輸入樣例】
1 2 8【輸出樣例】
37【分析】
? ? ? ? 設x個月,y對卵,z個月后統計,a數組記錄成蟲數量,b數組記錄卵數量。遞推式:b[i]=y*a[i-x],a[i]=a[i-1]+b[i-2]。遞推邊界:a[i]=1,b[i]=0。
【參考代碼】
#include <stdio.h> int main() {// a數組記錄成蟲數量,b數組記錄卵數量?long long a[101]={0},b[101]={0};int i,j,x,y,z;scanf("%d%d%d",&x,&y,&z);for(i=1;i<=x;i++){a[i]=1;b[i]=0;}for(i=x+1;i<=z+1;i++) ?// 因為要統計到第z個月后,所以要for到z+1{b[i]=y*a[i-x];a[i]=a[i-1]+b[i-2];}printf("%lld\n",a[z+1]);return 0; }http://ybt.ssoier.cn:8088/problem_show.php?pid=1312
?
總結
以上是生活随笔為你收集整理的信息学奥赛一本通(1312:【例3.4】昆虫繁殖)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信息学奥赛一本通(1066:满足条件的数
- 下一篇: 信息学奥赛一本通 1079:计算分数加减