問題 A: 吃糖果
時間限制: 1 Sec 內存限制: 32 MB
題目描述
名名的媽媽從外地出差回來,帶了一盒好吃又精美的巧克力給名名(盒內共有 N 塊巧克力,20 > N >0)。
媽媽告訴名名每天可以吃一塊或者兩塊巧克力。
假設名名每天都吃巧克力,問名名共有多少種不同的吃完巧克力的方案。
例如:
如果N=1,則名名第1天就吃掉它,共有1種方案;
如果N=2,則名名可以第1天吃1塊,第2天吃1塊,也可以第1天吃2塊,共有2種方案;
如果N=3,則名名第1天可以吃1塊,剩2塊,也可以第1天吃2塊剩1塊,所以名名共有2+1=3種方案;
如果N=4,則名名可以第1天吃1塊,剩3塊,也可以第1天吃2塊,剩2塊,共有3+2=5種方案。
現在給定N,請你寫程序求出名名吃巧克力的方案數目。
輸入
輸入只有1行,即整數N。
輸出
可能有多組測試數據,對於每組數據,
輸出只有1行,即名名吃巧克力的方案數。
樣例輸入
1 2 4
樣例輸出
1 2 5
經驗總結
emmmmmm,簡單的遞歸算法~~
AC代碼
#include <cstdio>
int count;
void scheme(int a)
{
if(a==0)
{
count++;
return;
}
for(int i=1;i<=2&&i<=a;i++)
scheme(a-i);
}
int main()
{
int n;
while(~scanf("%d",&n))
{
count=0;
scheme(n);
printf("%d\n",count);
}
return 0;
}