1. 程式人生 > >第39級臺階 每步1個或2個臺階 有多少種上法

第39級臺階 每步1個或2個臺階 有多少種上法

遞歸奇偶討論

小明剛剛看完電影《第39級臺階》。離開電影院的時候,他數了數禮堂前的臺階數,恰好是39級!
站在臺階前,他突然又想著一個問題:
如果我每一步只能邁上1個或2個臺階。先邁左腳,然後左右交替,最後一步是邁右腳,也就是說一共要走偶數步。那麽,上完39級臺階,有多少種不同的上法呢?
請你利用計算機的優勢,幫助小明尋找答案。

#define _CRT_SECURE_NO_WARNINGS
#include <string.h>
#include <stdlib.h>
#include <stdio.h>

long ff(int n);
// 奇數步
long gg(int n)
{
if (n == 0)

return 0;
if (n == 1)
return 1;
/if(n==2)
return 1;
/
return ff(n - 1) + ff(n - 2);
}

// 偶數步

long ff(int n)
{
if (n == 0)
return 1;
if (n == 1)
return 0;
/if(n==2)
return 1;
/
return gg(n - 1) + gg(n - 2);
}

void main()
{
printf("%d \n",ff(5));
printf("%d ", ff(39));
}

第39級臺階 每步1個或2個臺階 有多少種上法