问题:
《算盘书》:
两个月大的兔子以后后每个朋都可以再生一对兔子, 假如兔子都不死,问一年有有多少兔子?
递推算法:
感觉递推和递归差不多,
按数学 中的思想:
第1月,1 对,
第2月,1对,
第3月,2对,
第4月,3对
第5月,5对
……
有点像高中的证明 题,发现规律,第3个月始,代表第n月的兔子数
我们用C#语言来描述
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace rabbit
{
class Program
{
static int Fibonacci(int n)
{
int t1, t2;
if(n == 1 || n == 2)
{
return 1;
}
else
{
t1 = Fibonacci(n - 1);
t2 = Fibonacci(n - 2);
}
return t1+ t2;
}
static void Main(string[] args)
{
int n, num;
Console.WriteLine("递推算法求解:\r\n");
Console.WriteLine("请输入月份:\r\n");
int monthNow = Convert.ToInt32( Console.ReadLine());
num = Fibonacci(monthNow);
Console.WriteLine("经过"+ monthNow+ "月,共有兔子" +num+"。\r\n");
Console.ReadLine();
}
}
}