題組內容

五、「遞迴」與「迴圈」是程式設計重要的手法,請回答下列問題:

(二)下列左右兩邊之程式碼,左邊以「遞迴」手法撰寫,右邊擬將之改為以「迴圈」手法撰 寫,請於右邊程式空白處填入正確程式碼。(9分)

詳解 (共 4 筆)

a28205739
a28205739
詳解 #2443853
2017/10/12
fib_n = fib_n_2 + fi...
(共 62 字,隱藏中)
前往觀看
shang
shang
詳解 #6209207
2024/09/13
fib_n = fib_n_2 + fi...
(共 70 字,隱藏中)
前往觀看
我還有明天
我還有明天
詳解 #5147256
2021/10/11

6163a4f915153.jpg


費氏數列的迭代建議背下來

想法:

(1)由於費氏數列基本規則,因此必有一段程式為fib_n = fibn_1 + fibn_2;

(2)接著從上圖可看出 會有fib_n_2=fib_n_1;與fib_n_1 =fib_n;
(3)再將這三段程式碼依照優先順序排列後試算看看誰先誰後,即可得出答案
蔡明勳
蔡明勳
詳解 #5635014
2022/10/14
這題 fib_1 與 fib_2 的賦值的順序是有差的,答案會不一樣

正確如下 : 



如果是
f_n = f_1 + f_2;
f_2 = f_1;
f_1 = f_n;

出來的數列會變成 :
[1 1 1 2 3 5 8 ......]