難度:簡單
問題描述:一對兔子被圈養,假定最開始時這對兔子(一公一母)是剛剛出生的,而且所有的兔子在生命的第乙個月裡不具備繁殖能力,在第二個月的月底會產生出一對新的公兔和母兔,並且至此以後每月如此,問經過一年以後兔子的數目還有多少對?
我的想法:這個問題很簡單,就是斐波那契數列,只不過讓資料在程式中的表現形式多種多樣,寫法也因人而異。。。我們都知道遞迴方式寫斐波那契數列是錯誤行為,因為大量的重複計算會讓人很難釋懷。我在程式中設定了兩個變數,old_rabbit和new_rabbit,分別表示成年的兔子對數和新生的兔子對數。然後每到第i個月的月底,先讓小兔子長成大兔子,統計他們的對數:grow_rabbit=new_rabbit;,再讓老兔子生出小兔子:new_rabbit=old_rabbit;最後長大的兔子們也進入了生兔子的大軍中:old_rabbit+=grow_rabbit;這樣,迴圈12次代表一年,輸出結果即可。
程式:
#include "stdafx.h"
#include "iostream"
using namespace std;
int main(int argc, char* argv)
{ int old_rabbit=0;
int new_rabbit=1;
for(int i=0;i<12;i++) //每一次迴圈相當於每個月月底,第一次就是1月
{ int grow_rabbit=new_rabbit;
new_rabbit=old_rabbit; //老兔子生出小兔子
old_rabbit+=grow_rabbit;
cout<<"第"<
斐波那契的兔子
有一對兔子,從出生後第3個月起,每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子。假如兔子都不死,求第n個月兔子對數 關於斐波那契數列的兔子繁殖問題可以如下理解 實際月份 1 2 3 4 5 6 7 8 幼仔對數 1 0 1 1 2 3 5 8 成兔對數 0 1 1 2 3 5 8 13 ...
斐波那契兔子問題詳解
fibonacci hibbit question 問題 有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?分析 如下圖,第一列表示第1 7月 正文部分的數字表示兔子的編號 為表述方便,下文用 兔子 代表 兔子對 第1...
兔子生兔子問題 斐波那契數列
題目 有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子。假如兔子都不死,要求輸出一年內兔子的數量是多少。1 1 2 3 5 8 如下 兔子問題 斐波那契 public class homework05 static intfab int month stati...