首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

递归算法解决办法

2012-01-07 
递归算法有一个队列:1,1,2,3,5,8,13,21,34…….求第30个数是多少?[解决办法]Answer Test(30) 832040Priv

递归算法
有一个队列:1   ,1,2,   3,   5,   8   ,13,   21,   34…….求第30个数是多少?

[解决办法]
Answer = Test(30) = 832040

Private Function Test(ByVal i As Integer) As Integer

If i = 1 OrElse i = 2 Then
Return 1
Else
Return Test(i - 2) + Test(i - 1)
End If

End Function

[解决办法]
这个比较简单的哦!
算法的结构:要求的数 ==(等于)要求的数的前第一个数+要求的数的前第二个数
下面的为我写的控制台应用程序(c#)

public class MainClass
{
public static void Main()
{
Console.WriteLine(haha(30));
}
public static int haha(int i)
{
if(i <=0)
{
return 0;
}
else if(i> 0 &&i <=2)
{
return 1;
}
else
{
haha(i-1)+haha(i-2);
}

}
}

热点排行