Name :宅男的女友 (美少女) 生日 :06年 6月27日 (古希 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