看一看下面的例子,C#语言的,求Fibonacci数列
递归算法
public static decimal Fibonacci(decimal i)
{
if (i == 0 || i == 1)
{
return i;
}
else
{
return Fibonacci(i - 1) + Fibonacci(i - 2);
}
}
迭代算法
public static decimal Fibonacci_iter(decimal a, decimal b, decimal count)
{
if (count == 0)
return b;
else
return Fibonacci_iter(a + b, a, count - 1);
}
static decimal Fibonacci2(decimal n)
{
return Fibonacci_iter(1, 0, n);
}