#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
//c runtime library
//secure 安全
/*要求 走偶数步
如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢?
请你利用计算机的优势,帮助小明寻找答案。*/
/*走一步 接下来走奇数步
* 一台阶 偶数步为0 奇数步为1
* 2台阶 偶数步为1 奇数步为1
* 三台阶 偶数步为: 两台阶奇数步 + 一台阶奇数步=1+1=2
* 奇数步为 2台阶偶数步+ 一台阶偶数步 =1+0=1
* 四台阶= 偶数步为: 三台阶奇数步+ 两台阶奇数步==1+1 =2
奇数步为 三台阶偶数步+ 两台阶偶数步*/
int main()
{
int n;
//scanf("%d", &n);
n = 39;
int jishu(int n);
int oushu(int n);
printf("%d", oushu(n));
return 0;
}
int jishu(int n)
{
if (n == 1) return 1;//一个台阶走法
if (n == 2)return 1;//两个台阶走法
return oushu(n - 1) + oushu(n - 2);
}
int oushu(int n)
{
if (n == 1) return 0;//一个台阶走法
if (n == 2)return 1;//两个台阶走法
return jishu(n - 1) + jishu(n - 2);
}
|