回覆列表
  • 1 # 好看美劇

    直接建立一個類然後呼叫下面的def函式即可#斐波那契數列"""第一位是1第二位是1第三位是2公式位F(n)=f(n-1)+f(n-2)"""def get_Fibonacci_sequence(n):"""輸入n,遍歷到第n位的斐波那契數列"""a,b=0,1if n>=3:#即等於>2 相當於1,2位特殊處理for i in range(n-1):#操作次數是n-1,去除一次第一位的操作c=a+ba,b,=b,cprint(b)#這裡選擇先改變再輸出,可以減少1次的迴圈def get_Fibonacci_Num(n):"""輸入n,遍歷到第n位的斐波那契數列的第n位數"""a, b = 0, 1if n >= 3: # 即等於>2 相當於1,2位特殊處理for i in range(n - 1): # 操作次數是n-1,去除一次第一位的操作c = a + ba, b, = b, c# 這裡選擇先改變再輸出,可以減少1次的迴圈return bdef get_Fibonacci_Num_recursion(n):"""輸入n,遍歷到第n位的斐波那契數列的第n位數,遞迴實現"""if n==1 or n==2:#特別注意,這裡要用邏輯或判斷,不能直接用或判斷,return 1else:return get_Fibonacci_Num_recursion(n-1)+get_Fibonacci_Num_recursion(n-2)get_Fibonacci_sequence(11)print(get_Fibonacci_Num(11))print(get_Fibonacci_Num_recursion(11))

  • 中秋節和大豐收的關聯?
  • 我的月球之家作文怎麼寫?