用迭代或者递归获取斐波那契数列某一位置的值

以下的主要代码:  
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
//递归
int sum = Fun(5);
Console.WriteLine("递归:"+sum);
Console.WriteLine("迭代:"+Func(5));
Console.Read();
}

static int Fun(int i)
{
if (i == 1 || i == 2)
{
return 1;
}
else
{
return Fun(i - 1) + Fun(i - 2);
}
}
//迭代
static int Func(int num)
{
int n =1;
int n1 = 0;
int n2 = 1;
int n3 = 0;
while (n++ < num)
{
n3 = n1 + n2;
n1 = n2;
n2 = n3;
}
return n3;
}
}
}
posted @ 2012-04-08 09:26  水目之痕  阅读(185)  评论(0编辑  收藏  举报