Rosalind第四題 兔子與遞迴關係

2021-10-13 12:21:37 字數 731 閱讀 1988

問題

序列是物件(通常是數字)的有序集合,允許重複。序列可以是有限的也可以是無限的。兩個例子是有限奇數數列和無限奇數數列。我們用這個符號來表示序列的第-項。

遞迴關係是一種根據先前項的值定義序列項的方法。在引入的斐波那契兔子的例子中,任何給定的月份都會包含在前乙個月還活著的兔子,以及任何新的後代。乙個關鍵的觀察結果是,每個月的後代數量與兩個月前存活的兔子數量相等。因此,if表示第-個月之後活著的兔子對的數量,那麼我們就得到了斐波那契序列,其項由遞迴關係定義(用於啟動序列)。儘管這個數列是以斐波那契數列命名的,但印度數學家在兩千多年前就知道了它。

當尋找由遞迴關係定義的序列的第-項時,我們可以簡單地使用遞迴關係生成的項逐漸增大的值。這個問題向我們介紹了動態規劃的計算技術,它通過使用較小情況的答案來連續地建立解。

給定:正整數和。

return:幾個月後將出現的兔子對總數,如果我們從1對開始,每一代,每一對繁殖年齡的兔子會產生一窩兔子對(而不是只有1對)。

5 3
19
def fibonaccirabbits(n, k):

f = [0, 1, 1]

generation = 3

while generation <= n:

generation += 1

return (f[n])

ret = fibonaccirabbits(5, 3)

print(ret)

第四題 替換空格

可以使用這樣的方法 先遍歷一遍字串,求出字串中空格的個數,由此,可以計算出替換之後的字串的總長度,然後標記出字串的末尾p1和替換之後的末尾p2。再逐步往前移動p1,p2,同時將p1資料複製到p2的位置中,如果p1指向了乙個空格,則將p1往前移動一格,p2的位置依次插入 0 2 並往前移動。當空格替換...

2018暑假第四題

題目 判斷乙個整數是否是回文數。回文數是指正序 從左向右 和倒序 從右向左 讀都是一樣的整數。python 示例 1 輸入 121輸出 true示例 2 輸入 121輸出 false解釋 從左向右讀,為 121 從右向左讀,為 121 因此它不是乙個回文數。示例 3 輸入 10輸出 false解釋 ...

CCF第四題思考

當可以隨意選擇兩個節點的時候它是貪心法 哈夫曼 當只能選相鄰節點時,它變成了動態規劃,為什麼只能選相鄰節點呢,因為只要從左到右選葉結點,得到的就是字典序,而我之前的想法是,先構造出哈夫曼樹,再把葉結點代表的編碼從左到右賦給abcde,但是哈夫曼樹可以有很多顆,哪一顆才是字典序最小的呢,這就很難。為何...