/*
* Created by SharpDevelop.
* User: Administrator
* Date: 2012/10/6
* Time: 12:18
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
namespace 递归与嵌套
{
class Program
{//我来给一个具体的用于求斐波拉携数列的具体小例子!纯属个人理解!
public static void Main(string[] args)
{
OutPutFab();
Console.ReadKey(true);
}
/// <summary>
/// 实现斐波拉携数列的输出功能
/// </summary>
static void OutPutFab()
{
Console.Write("请输入要显示的斐波拉携数列的项数(1-30):");
int Row;
while(!int.TryParse(Console.ReadLine(),out Row)||Row<1||Row>30)
{
Console.Write("输入无效,请重新输入(1-30):");
}
for(int i=1;i<Row;i++)
{
Console.Write("{0},",Fab(i));//在OutPutFab中调用Fab就叫把Fab嵌套到OutPutFab中。
}
Console.Write(Fab(Row));
}/// <summary>
/// 用于求斐波拉携数列中某项的值
/// </summary>
/// <param name="n">项数</param>
/// <returns></returns>
static int Fab(int n)
{
if(n==1||n==2)
{
return 1;
}
else if(n>=3)
{
return Fab(n-1)+Fab(n-2);//函数调用函数本身,就是递归了。和高中数学学的递归数列差不多。
}
else
{
return 0 ;
}
}
}
}
|