作者共發了2篇帖子。
字體大小:較小 - 100% (默認)  內容轉換:不轉換
 
點擊 回復
865 1
【试题】第39级台阶
巨大八爪鱼
武林盟主 二十一級
回復
1樓 發表於:2016-3-18 21:21
#include <stdio.h>

int count = 0;
char str[100];

void search(int nStaircases, int nSteps = 0)
{
    if (nStaircases < 0) // 不能多走几阶梯
        return;
    if (nStaircases == 0) // 走完了所有阶梯时
    {
        if (nSteps % 2 == 0) // 走了刚好偶数步
        {
            str[nSteps] = '\0';
            //puts(str);
            count++; // 方案可行
        }
        return;
    }
    
    str[nSteps] = '1';
    search(nStaircases - 1, nSteps + 1); // 走一步
    str[nSteps] = '2';
    search(nStaircases - 2, nSteps + 1); // 走两步
}

int main(void)
{
    search(39);
    printf("%d\n", count);
    return 0;
}
巨大八爪鱼
武林盟主 二十一級
回復
2樓 發表於:2016-3-18 21:23
这道题比较简单,关键是要读懂题。
其实就是要求计算偶数个1和2相加等于39的算式有多少个。
回覆帖子
內容:
用戶名: 您目前是匿名發表。
驗證碼:
看不清?換一張
(快捷鍵:Ctrl+Enter)
本帖信息
點擊數:865 回複數:1
作者:巨大八爪鱼
最後回覆:巨大八爪鱼
最後回復時間:2016-3-18 21:23
公告板