def fab(n): #宣告函式
n1 = 1
n2 = 1
n3 = 1
if n < 1:
return -1
while (n-2) > 0: #如果n給的值減去2大於0開始迴圈
n3 = n2 + n1 #n3=n2+n1
n1 = n2 #重新給賦值將n2 賦值給n1
n2 = n3 #重新賦值將上面n3 賦值給n3
n -= 1 #如果n的值是20的話每次減一。
return n3 #返回n3的值
sam = fab(12)
if sam != -1:
print('總共有%d小兔崽子' % sam)
#遞迴方式實現
#有點**簡練,易於理解,缺點執行速度慢。
def fab(n):
if n < 0 :
return -1
if n == 1 or n == 2 :
return 1
else:
return fab(n-1) + fab(n-2)
max = fab(20)
if max != -1:
print('總共有%d小兔崽子' % max)
快速冪 迭代法和遞迴法 python實現
迭代法 def quick power x,n res 1while n 0 如果冪為奇數,把x記錄下來,儲存在res中 if n 2 1 res x 如果冪為偶數 則不記錄,只是處理x,n x x n 1 return res遞迴法 def quick power x,n 特殊情況 if n 0 ...
子集 迭代法和遞迴法
給你乙個整數陣列nums,返回該陣列所有可能的子集 冪集 解集不能包含重複的子集。示例 1 輸入 nums 1,2,3 輸出 1 2 1,2 3 1,3 2,3 1,2,3 示例 2 輸入 nums 0 輸出 0 class solution ans.add new arraylist t retu...
python實現牛頓法 牛頓迭代法Python實現
例1 給定方程 f x x 2 sin x 1 0 判別該方程有幾個實根,並用牛頓法求出方程所有實根,精確到 10 解 利用畫圖法觀察根的所在區間為 2,1 和 0,1 其中藍色為 y f x 的曲線,橘黃色的直線是 y 0 畫圖 import numpy as np import matplotl...