台阶问题

Posted 淡淡的烦恼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了台阶问题相关的知识,希望对你有一定的参考价值。

题目:

39级台阶,每步1或者2个台阶,必须是偶数步,求上台阶的方案数

解决思想:使用递归的思想。

代码:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 
 6 namespace 阶?á梯?Y
 7 {
 8     class Program
 9 {
10     //奇数
11         static int fun1(int n)
12         {
13             if (n == 1)
14                 return 1;
15             if (n == 2)
16                 return 1;
17             else
18                 return fun2(n - 1) + fun2(n - 2);
19         }
20         //偶数
21         static int fun2(int n)
22         {
23             if (n == 1)
24                 return 0;
25             if (n == 2)
26                 return 1;
27             else
28                 return fun1(n - 1) + fun1(n - 2);
29         }
30         static void Main(string[] args)
31         {
32             int n;
33             n = Convert.ToInt32(Console.ReadLine());
34             Console.WriteLine(fun2(n));
35             Console.ReadLine();
36         }
37     }
38 }

 

以上是关于台阶问题的主要内容,如果未能解决你的问题,请参考以下文章

青蛙跳台阶问题

台阶问题

《剑指Offer——10- I. 斐波那契数列,10- II. 青蛙跳台阶问题63. 股票的最大利润》代码

递归经典:汉诺塔问题和青蛙跳台阶的三个问题(爆肝的数学推理步骤以及详细代码)

1192 台阶问题

剑指offer跳台阶