Board logo

標題: 308 函式與陣列 (費氏數列) [打印本頁]

作者: 鄭繼威    時間: 2024-7-15 09:11     標題: 308 函式與陣列 (費氏數列)

本帖最後由 鄭繼威 於 2024-7-15 09:57 編輯

1. 題目說明:
請依下列題意進行作答,使輸出值符合題意要求。

2. 設計說明:
請撰寫一程式,包含名為compute()的函式,接收主程式傳遞的一個正整數n(n<10),compute()計算費氏數列第n項的值後回傳至主程式,並輸出倒印費氏數列。

提示:費氏數列的某一項數字是其前兩項的和,而且第0項為0,第一項為1,表示方式如下:



提示:若使用 Java 語言答題,請以「JP」開頭命名包含 main 靜態方法的 class,評測系統才能正確評分。

3. 輸入輸出:
輸入說明
一個小於10的正整數

輸出說明
倒印費氏數列

範例輸入
9
範例輸出
fib(9)=34
fib(8)=21
fib(7)=13
fib(6)=8
fib(5)=5
fib(4)=3
fib(3)=2
fib(2)=1
fib(1)=1


本帖隱藏的內容需要回復才可以瀏覽
Python
  1. fib = [0, 1]
  2. def compute(x):
  3.     for i in range(x):
  4.         fib.append(fib[-1] + fib[-2])
  5.     return fib[x]

  6. n = int(input())
  7. Fib_n = compute(n)
  8. for i in range(n, 0, -1):
  9.     print('fib(' + str(i) + ')=' + str(fib[i]))
複製代碼
  1. #compute()求第n項的費氏數列
  2. def compute(n):
  3.     if n==0:
  4.         return 0
  5.     elif n==1:
  6.         return 1
  7.     else:
  8.         return compute(n-1)+compute(n-2)

  9. n=int(input())
  10. #n~1的for迴圈
  11. for i in range(n,0,-1):
  12.     print(f"fib({i})={compute(i)}")
複製代碼

作者: 黃裕恩    時間: 2024-7-15 10:06

此帖僅作者可見
作者: 曾煒峻    時間: 2024-7-15 10:06

此帖僅作者可見
作者: 李品蓁    時間: 2024-7-15 10:08

此帖僅作者可見
作者: 洪椽鈞    時間: 2024-7-15 10:08

此帖僅作者可見
作者: 宋品澄    時間: 2024-7-15 10:08

此帖僅作者可見
作者: 蔡文霖    時間: 2024-7-15 10:08

此帖僅作者可見
作者: 李承燁    時間: 2024-7-15 11:00

此帖僅作者可見
作者: 洪椽鈞    時間: 2024-7-15 20:45

此帖僅作者可見




歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://seed.istak.org.tw/) Powered by Discuz! 7.2