斐波那契蛇

2021-10-23 15:51:23 字數 1547 閱讀 9731

斐波那契蛇題目

將斐波那契數列按照矩陣排列,左上角為最大元素,依次按照蛇形順時針遞減,是乙個n*n的矩陣,如圖所示:

要求輸入n,輸出斐波那契蛇形矩陣

解題步驟:

主要用到遞迴思想,首先用動態規劃方法生成斐波那契數列,然後用遞迴方法將斐波那契數列按照蛇形矩陣儲存為二維陣列,每次儲存蛇形矩陣的四條外邊,所求矩陣寬高依次遞減2,遞迴生成斐波那契蛇形矩陣的二維陣列,並按要求將二維陣列輸出為斐波那契蛇形矩陣形式。

n=4時,輸出結果如下圖所示:

elif(n-2==1): # 中心位置

length = len(out[0])

out[int(length/2)][int(length/2)] = arr[0]

arr = fib(int(n*n))

start = 0

end = n-1

out = [[0 for col in range(n)] for row in range(n)]

handle(n,arr,start,end)

print(arr,out)

for i in range(n):

for j in range(n):

print(out[i][j],end=' ')

print()

斐波那契蛇 Python實現

將斐波那契數列按照從大到小,順時針的順序存放在n n的方陣中,n 3的情況如下圖所示 先生成斐波那契數列的陣列,讓後將陣列按照要求存放 n int input def fib n 生成斐波那契陣列 if n 1 return 1 if n 2 return 1 1 res 1 1 for i in ...

斐波那契數列 斐波那契數列python實現

斐波那契數列 fibonacci sequence 又稱 分割數列 因數學家列昂納多 斐波那契 leonardoda fibonacci 以兔子繁殖為例子而引入,故又稱為 兔子數列 指的是這樣乙個數列 1 1 2 3 5 8 13 21 34 在數學上,斐波納契數列以如下被以遞推的方法定義 f 1 ...

迴圈斐波那契數列 斐波那契數列應用

什麼是斐波那契數列 斐波那契數列指的是這樣乙個數列 1,1,2,3,5,8,13,21,34,55,89,144 這個數列從第3項開始,每一項都等於前兩項之和 台階問題 有一段樓梯有10級台階,規定每一步只能跨一級或兩級,要登上第10級台階有幾種不同的走法?這就是乙個斐波那契數列 登上第一級台階有一...