python函式案例 楊輝三角 漢諾塔問題

2021-10-12 10:25:09 字數 860 閱讀 1281

案例:

1.編寫兩個函式,乙個函式接收乙個整數num為引數,生成楊輝三角形前num行資料,另乙個函式接收生成的楊輝三角形並按以下形式輸出,如圖所示。

在圖中,列出了楊輝三角形的前9行。每一層左右兩端的數都是1並且左右對稱,從第1層開始,每個不位於左右兩端的數等於上一層左右兩個數相加之和。

具體實現如例所示。

2.漢諾塔問題是源於印度乙個古老傳說,大梵天創造世界時,在世界中心貝拿勒斯的聖廟中做了3根金剛石柱子,在一根柱子上從下往上按照大小順序摞著64片**圓盤(稱為漢諾塔)。大梵天命令婆羅門把圓盤從一根柱子上按大小順序重新擺放在另一根柱子上,並規定在三根柱子之間一次只能移動乙個圓盤且小圓盤上不能放置大圓盤,如圖所示。

假設使用1,2,3,…,n標記n個大小互不相同的圓盤,a、b、c標記3個柱子,初始狀態時所有圓盤都放在a柱子上,最終狀態時所有的圓盤都放在c柱子上,柱子b作為中間緩衝。

當n = 1時,即只有1個圓盤,此時可以直接把這個圓盤從柱子a移動到柱子c,這也是遞迴的終止條件。

當n > 1時,依次解決以下三個子問題:

借助柱子c將前n-1個盤子從柱子a移到柱子b

將圓盤n從柱子a移到柱子c

借助柱子a將前n-1個圓盤從柱子b移到柱子c

漢諾塔問題的具體實現如例所示。

python楊輝三角 楊輝三角I II

給定乙個非負整數 numrows,生成楊輝三角的前 numrows 行。在楊輝三角中,每個數是它左上方和右上方的數的和。示例 輸入 5 輸出 1 1,1 1,2,1 1,3,3,1 1,4,6,4,1 可以一行一行錯位加,當然這裡提供更簡便的方法。任取一行描述 1,2,1 如何得到 1,3,3,1 ...

Python 楊輝三角

首先附上我們需要求得的楊輝三角 1 1,1 1,2,1 1,3,3,1 1,4,6,4,1 1,5,10,10,5,1 1,6,15,20,15,6,1 1,7,21,35,35,21,7,1 1,8,28,56,70,56,28,8,1 1,9,36,84,126,126,84,36,9,1 很顯...

楊輝三角 Python

給定乙個非負整數 numrows,生成楊輝三角的前 numrows 行。在楊輝三角中,每個數是它左上方和右上方的數的和。示例 輸入 5 輸出 1 1,1 1,2,1 1,3,3,1 1,4,6,4,1 coding utf 8 usr bin env python author wowlnan gi...