精華區beta chicken 關於我們 聯絡資訊
Name :宅男的女友 (美少女) 生日 :06 627日 (古希 271歲) 體: 144/147 法: 9858/11854 攻擊力:0 敏捷 :0 知識 :58409 快樂 :55691 滿意 :8398 疲勞 :152 氣質 :2727 體重 :1.55 病氣 :0 乾淨 :0 食物 :66 大補丸:0 藥品 :0 ◤ ◥ ◥◤ ◤◥ IIII IIII IIII IIII 很乾淨..累了..很快樂..很滿足..1m 陪我快一年的美少女.. Recursion Algorithm/Program 考法 (1) 寫出 (2) 追蹤執行結果 題目source 1. 數學題 2. 資結題 3. others 例1:階乘【 】 n !=1,      if n=Ф n !=(n-1) ! *n  if n≧1 ○1 Write a Recursive Algorithm ○2 Write a Reursive program in C Ans:○1 Procedure FAC(int n) begin if (n==Ф) then return 1; else return FAC(n-1)*n; end ○2 int FAC(int n) { if (n==Ф) then return 1; else return FAC(n-1)*n; ○3 根據○2之program,求FAC(3)=?過程中共呼叫FAC?次(連同FAC(3)) Ans:FAC(3) 迳 伥 FAC(2)*3 迳6 伥 FAC(1)*2 迳2 伥 FAC(0)*1 迳1 伥 =1 FAC(3)=6 共呼叫4次 ○4 ○2之功能為何? Ans:求n ! 例2:Fibonacci Number(費氏數) Ф,if n=Ф Fn= 1,if n=1      Fn-1+Fn-2,if n≧2 e.g. n 0 1 2 3 4 5 6 7 8 9 10 Fn 0 1 1 2 3 5 8 13 21 34 55 e.g. F99=F97+F98 =F100-F98 =F101-F100 (1) Write a Recursive C program Ans: int FIB (int n) { if (n==Ф) return Ф; elseif (n==1) return 1; else return FIB(n-1)+FIB(n-2); } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.223.229.168