用C#实现有关兔子的斐波那契数列

有一道面试题目:
一对成熟的兔子每月繁殖一对小兔子,而每对小兔子三个月后就变成一对成熟的兔子.那么,从一对刚出生的兔子开始,一年后可变成多少对兔子??
其实,这个题目咋一看比较难,但要是仔细分析的话,可以发现它就是我们数学史上一个非常经典的斐波那契数数列问题。
其实说到斐波那契数数列,我们并不陌生,我记得在我读大一的时候的C语言课程上,老师就给我们讲了这个问题。比如很经典的 f(n)=f(n-1)+f(n-2),就是说当前数是由它的前2项数相加而得到的。
当然,这个听说在生活上也特别的由名,最有名的或许就是我们常听到的,美学标准:黄金分割点。有兴趣的读者可以到百度上去看看。
OK,我们先可以把每个月出生的兔子总数画出来,先看出规律来,应该这个问题就不难了!~
 

月份

兔子总数

1

1

2

1

3

2

4

3

5

5

6

8

7

13

……..

通过上面表格的规律我们就可以很容易的得出代码如下,代码都比较简单,所以不做过多的解释。
 
   
class Program
{
static void Main( string [] args)
{
Console.Write(
" 请输入一个数字: " );
int i = Convert.ToInt32( Console.ReadLine());
Fibonacci(i);
Console.ReadKey();
}
public static void Fibonacci( int num)
{
int number1 = 1 , number2 = 1 , sum = 0 ;
if (num < 1 )
sum
= 1 ;
Console.WriteLine();
Console.WriteLine(
" 第1个月,有{0}只 " ,number1);
Console.WriteLine(
" 第1个月,有{0}只 " , number2);
for ( int i = 3 ; i <= num; i ++ )
{
sum
= number1 + number2;
Console.WriteLine(
" 第{0}月,有{1}只 " ,i,sum);
number1
= number2;
number2
= sum;
}
}
}

结果如下:

2011060715445044.jpg

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值