斐波那契数列主要思想是利用前两个数求和算出下一个数,利用函数的递归思想,F(n)=F(n-1)+F(n-2),F(n)先搁置,计算F(n-1),要计算F(n-1)就要先计算F(n-2)和F(n-3),依次递归下去,直到第一第二位数,这两个数是已知的,这样就可以回去一层一层的算出F(3)、F(4)、F(5)....F(n-2)、F(n-1),最后得到F(n)的值。

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Data;
 6 using System.Data.SqlClient;
 7 //递归算法求斐波那契数列
 8 namespace test3
 9 {
10     class Program
11     {
12         static void Main(string[] args){
13             long i=Convert.ToInt64(Console.ReadLine());//读入位数
14             Console.WriteLine("第{0}位斐波那契数为:{1}",i, Foo(6));
15         }
16         public static int Foo(int i) {
17             if (i <= 0) return 0;
18             else if (i > 0 && i <= 2) return 1;
19             else return Foo(i - 1) + Foo(i - 2);
20         }
21     }
22 }

PS:Console.Read()用来读取输入的第一个字符,Console.ReadLine()用来读取一行字符串,Console.ReadKey()也是用来读取第一个字符,但不需要敲回车键就能继续执行代码。另外不管是Read()或Write()输入输出的都是字符型,数字需要用Convert()函数转换得来。

posted on 2014-11-15 15:44  Failbs  阅读(260)  评论(0编辑  收藏  举报