11.27 遞迴和植物大戰殭屍
阿新 • • 發佈:2018-11-28
Description
這是一題簡單的題目,考的只是你的數學而已。我一直都很好奇愚公一家到底有多少人。好吧,毛學姐說你們會幫我的。假設愚公家族 每個人的一生是這樣度過的:(當他回首往事的時候。。。開個玩笑,請無視) 頭2020年用來生長髮育以及挖山,第2121年(可以理解為2121歲的時候)開始 每年生下一個孩子( 自交,任性, 沒妻子,全生男,且不考慮死亡),當然還要去挖山。我們預設愚公11歲的時候為第一年(第2121年愚公生下第一胎),求第NN年愚公家族(愚公家族不需要妻子,別考慮太多)有多少人。
Input
有多組測試資料,每組佔一行,包括一個數N(0<N<=60)N(0<N<=60),N為第N年。
Output
對於每組測試,輸出整數MM,MM為愚公家族的人數
題解:遞迴問題,前20年都是1個人,從21年開始f(n)=f(n-1)+f(n-20)
程式碼如下:
#include <stdio.h> int f(int n) { int ans; if(n<=20){ return 1; } else if(n>20){ ans=f(n-1)+f(n-20); } return ans; } int main() { int n; while(scanf("%d",&n)!=EOF){ printf("%d\n",f(n));} return 0; }
加特林大戰殭屍
Description
現在又到了毛學姐玩生化危機的時間,問題很簡單。現在有一把自動加特林機槍,它每秒發射一顆子彈,子彈的飛行速度是V0 。在它的面前有L米的空地,你可以假設機槍是一個點。現在有個一隻殭屍來襲,他以速度V1V
勻速向加特林機槍走去。殭屍被加特林子彈擊中n次才會gg,殭屍在走到加特林機槍的位置後,會用酸液對其進行攻擊,只需2s就能摧毀加特林。問:強大的加特林機槍能不能守住這塊空地呢?
Input
輸入包含多組資料,每組包含四個數L,VO,VI,n保證所有資料在int類型範圍內。
Output
如果加特林能幹掉殭屍,請輸出"YES",否則輸出"NO"。
題解:只需要在殭屍走到加特林之前射出相應子彈即可,但因為加特林還有兩秒的壽命,我們可以把這兩秒殭屍走的距離加到L上(L1),這樣只需要判斷子彈數乘以殭屍速度與L1的大小即可。
程式碼如下:
#include <stdio.h>
int main()
{
int l,v0,v1,n;
int a,b;
while(scanf("%d %d %d %d",&l,&v0,&v1,&n)!=EOF){
a=l+2*v1;
b=n*v1;
if(a>b){
printf("YES\n");
}
else{
printf("NO\n");
}
a=0;
b=0;
}
return 0;
}