#26568: C++遞迴解


andrew99154 (YuCheng)

學校 : 均一國際教育實驗高級中學
編號 : 145338
來源 : [111.254.45.176]
最後登入時間 :
2024-01-03 20:33:30
f637. DF-expression -- APCS201810程式實作題3 | From: [1.163.223.187] | 發表日期 : 2021-08-13 21:45

開一個變數layer,紀錄當下所在「層數」,初始層數layer = 0。

遞迴函式為 foo(int layer);

另外開一個尋訪字串的全域變數index。

 

每次進入遞迴先將index+1

 

讀取字串,讀到"2"時,

return foo(layer+1)+foo(layer+1)+foo(layer+1)+foo(layer+1)

 

當讀到"1"時,直接return當下進行遞迴"1"的面積。

 

面積計算方式:pow(n/pow(2,layer),2)

不是1也不是2就 return 0。

 

主程式中只需讀字串和n,及呼叫遞迴即可。

 
#37956: Re: C++遞迴解


cliffchiang (Cliff)

學校 : 不指定學校
編號 : 195470
來源 : [115.43.187.27]
最後登入時間 :
2024-07-29 21:20:54
f637. DF-expression -- APCS201810程式實作題3 | From: [123.192.180.250] | 發表日期 : 2023-10-20 20:51

開一個變數layer,紀錄當下所在「層數」,初始層數layer = 0。

遞迴函式為 foo(int layer);

另外開一個尋訪字串的全域變數index。

 

每次進入遞迴先將index+1

 

讀取字串,讀到"2"時,

return foo(layer+1)+foo(layer+1)+foo(layer+1)+foo(layer+1)

 

當讀到"1"時,直接return當下進行遞迴"1"的面積。

 

面積計算方式:pow(n/pow(2,layer),2)

不是1也不是2就 return 0。

 

主程式中只需讀字串和n,及呼叫遞迴即可。

index應為-1起算的吧?

 
ZeroJudge Forum