经典算法研究-斐波那契(fibonacci)数列
题目:1,1,2,3,5,8,13,21,34,...用递归写出算法,算出第30个数。
解答:
斐波那契数列从第三项开始是前两个数的和。
本题是经典的fibonacci数列:
1、写出return Foo(i-1)+Foo(i-2);
2、写出if(i>0&&i<=2) return 1;
代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace fibonacci
{
class Program
{
static void Main(string[] args)
{
int i = Foo(3);
Console.WriteLine(i);
}
private static int Foo(int num) {
if(num<=0){
return 0;
}
else if(num<=2){
return 1;
}
else{
return Foo(num - 1) + Foo(num-2);
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace fibonacci
{
class Program
{
static void Main(string[] args)
{
int i = Foo(3);
Console.WriteLine(i);
}
private static int Foo(int num) {
if(num<=0){
return 0;
}
else if(num<=2){
return 1;
}
else{
return Foo(num - 1) + Foo(num-2);
}
}
}
}