使用递归 计算 斐波那契 数列

使用 递归 计算 斐波那契  数列 

 

 1  class Dome

 2     {

 3         static void Main(string[] args)

 4         {

 5             //1 1 2 3 5 8 13 .... 计算第30个数字的值是多少

 6             int num = 30;

 7             Console.WriteLine(Num(num));

 8         }

 9 

10         static int Num(int num)

11         {

12             if (num <= 0)

13             {

14                 return 0;

15             }

16             else if (num == 1)

17             {

18                 return 1;

19             }

20             else

21             {

22                 int i = Num(num - 1) + Num(num - 2);

23                 return i;

24             }

25         }

26     }
递归 斐波那契 算法

 

1 1 2 3 5 8 13 ......

 

1   

 

1   0 + 1

 

2   1 + 1

 

3   1 + 2

 

5   2 + 3

 

8   3 + 5

 

......

 

从数字中分析 前两个数之和是第三个数 因此 使用递归 将多少层设置  num-1 为第二位数 num-2 为第一位数 依次类推 直到 num-1 num-2 的小于 0 或者 等于 1 时 跳出递归 再将 内存中所递归的值将以计算  得出 第30位的值

你可能感兴趣的:(递归)