統計每個月兔子的總數

2021-10-20 18:07:34 字數 2033 閱讀 7389

有乙隻兔子,從出生後第3個月起每個月都生乙隻兔子,小兔子長到第三個月後每個月又生乙隻兔子,假如兔子都不死,問每個月的兔子總數為多少?

這個問題可能我比較笨,看大多數解釋都是一句話,f(n) = f(n-1) + f(n-2),但是總有點想不明白這個。列了個**才看清楚咋回事。月份1

2345

67兔子總數11

2358

13具有生育能力兔子00

1123

5 如果這個月是第n個月,那要求這個月兔子的總數,其實就是上個月的兔子總數加上新生出來的兔子。也就是f(n) = f(n-1) + x。這個x是比較難理解的地方。那這個月到底新生出來多少兔子呢?這就是求這個月已經有生育能力的兔子是多少,上上個月所有的兔子就是這個月所有的有生育能力的兔子,這裡可以結合**推一推就很好理解了。所以x就是f(n-2)。

因此可以得到遞推f(n) = f(n-1) + f(n-2)。

其實比較簡單的問題,不過自己光憑笨腦子想,突然沒想明白,記一下這個思考過程。

還有就是牛客網上的高讚答案詳解:

#include

using

namespace

std;

intmain

()

cout}}

有人是以a表示乙個月的兔子,b表示兩個月的兔子,c表示三個月的兔子(原文這麼注釋的),我因為這個注釋半天沒看懂,後來明白了,c意思是已經成熟的兔子,也就是表示3個月及以上的兔子,也就是說c表示能生兔子的兔子。

那就可以以月份迴圈,每到達新的乙個月,b都會成熟,所以c+=b,c就更新了,仍然表示所有成熟了的兔子,b怎麼更新呢?b其實就是上個月那些成熟度是1個月的兔子,所以再更新b,用b=a;a呢?a就是現在更新後的c,因為更新後的c表示這個月成熟了的兔子,那這些兔子都會生乙隻新的兔子,新兔子就是成熟度為1個月的,所以用a=c。這樣現在這個月的兔子總數就是a+b+c。

這是我自己沒找到注釋,自己總結出來的答案詳解,這個方法比遞迴複雜度低,空間占用更是比用陣列先去存要少很多。

有乙隻兔子,從出生後第3個月起每個月都生乙隻兔子,小兔子長到第三個月後每個月又生乙隻兔子,假如兔子都不死,問每個月的兔子總數為多少?

這個問題可能我比較笨,看大多數解釋都是一句話,f(n) = f(n-1) + f(n-2),但是總有點想不明白這個。列了個**才看清楚咋回事。月份1

2345

67兔子總數11

2358

13具有生育能力兔子00

1123

5 如果這個月是第n個月,那要求這個月兔子的總數,其實就是上個月的兔子總數加上新生出來的兔子。也就是f(n) = f(n-1) + x。這個x是比較難理解的地方。那這個月到底新生出來多少兔子呢?這就是求這個月已經有生育能力的兔子是多少,上上個月所有的兔子就是這個月所有的有生育能力的兔子,這裡可以結合**推一推就很好理解了。所以x就是f(n-2)。

因此可以得到遞推f(n) = f(n-1) + f(n-2)。

其實比較簡單的問題,不過自己光憑笨腦子想,突然沒想明白,記一下這個思考過程。

還有就是牛客網上的高讚答案詳解:

#include

using

namespace

std;

intmain

()

cout}}

有人是以a表示乙個月的兔子,b表示兩個月的兔子,c表示三個月的兔子(原文這麼注釋的),我因為這個注釋半天沒看懂,後來明白了,c意思是已經成熟的兔子,也就是表示3個月及以上的兔子,也就是說c表示能生兔子的兔子。

那就可以以月份迴圈,每到達新的乙個月,b都會成熟,所以c+=b,c就更新了,仍然表示所有成熟了的兔子,b怎麼更新呢?b其實就是上個月那些成熟度是1個月的兔子,所以再更新b,用b=a;a呢?a就是現在更新後的c,因為更新後的c表示這個月成熟了的兔子,那這些兔子都會生乙隻新的兔子,新兔子就是成熟度為1個月的,所以用a=c。這樣現在這個月的兔子總數就是a+b+c。

這是我自己沒找到注釋,自己總結出來的答案詳解,這個方法比遞迴複雜度低,空間占用更是比用陣列先去存要少很多。

華為oj 統計每個月的兔子總數

問題描述 有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?統計出兔子總數。param monthcount 第幾個月 return 兔子總數 public static int gettotalcount int m...

統計每個月兔子的總數 牛客網

題意理解 生兔子的問題,乙隻小兔子長到第三個月生乙隻小兔子,問第n個月兔子數量。問題分析 生兔子的模型這樣定義,一月大的兔子,2月大的兔子,3月或更大的兔子,兔子的數量是這三種月齡兔子的和。它們的數量變動和月份關係如下,3月兔子的數量等於2月兔子的數量加上3月兔子的數量 2月兔子長大變成3月兔子,3...

華為機試37 統計每個月兔子的總數

題目描述 有乙隻兔子,從出生後第3個月起每個月都生乙隻兔子,小兔子長到第三個月後每個月又生乙隻兔子,假如兔子都不死,問每個月的兔子總數為多少?輸入描述 輸入int型表示month 輸出描述 輸出兔子總數int型 示例1 輸入 9輸出 34注 本題有多組資料 參考 邏輯while true try n...