吃糖果

時間限制:C/C++ 1秒,其他語言2秒 空間限制:C/C++ 64M,其他語言128M 熱度指數:5374

 算法知識視頻講解

校招時部分企業筆試將禁止編程題跳出頁面,爲提前適應,練習時請使用在線自測,而非本地IDE。

題目描述

名名的媽媽從外地出差回來,帶了一盒好吃又精美的巧克力給名名(盒內共有 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

輸入

複製

4

輸出

複製

5

 

遞歸 當n>2時,總共分兩種吃法 eg1.最後一天吃兩塊 eg2:最後一天吃一塊 ,兩種吃法加一塊就是總共的吃法個數

#include<stdio.h>
int count(int n)
{
    if(n==1) return 1;
    else if(n==2) return 2;
    else return count(n-1)+count(n-2);
}
int main()
{
    int n;
    while(scanf("%d",&n)!=EOF)
    {
    
        printf("%d\n",count(n));
    }
    return 0;
}

  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章