#24067: 回推法


ktpss97094@gmail.com (彭星樺)

學校 : 不指定學校
編號 : 86608
來源 : [49.216.40.170]
最後登入時間 :
2022-07-12 22:31:17
b537. 分數運算-1 -- 老師的教甄題 | From: [140.113.136.220] | 發表日期 : 2021-01-15 16:49

注意這題k會超出int範圍,所以不能用存陣列解法

這裡給出我的另一個解法

 

觀察1. 本題數列皆>0

觀察2. 當k為偶數時 f(k) = 1 + f(k/2) > 1

觀察3. 當k為奇數時 f(k) = 1 / f(k-1),注意k-1為偶數,所以f(k-1)>1,所以f(k)<1

所以可以知道a/b>1時k為偶數,a<b時k為奇數(a=b則不用多講k=1)

 

當k為偶數時可以算出f(k/2) = f(k) - 1

k為奇數時可以算出f(k-1) = 1 / f(k)

逐步把題目給的f(k)降至1,此時k=1

回推當時的過程,例如第一次把k除2了,在最後要把k乘回2;第一次把k減1了,在最後要把k加回1

回推完即為答案

*/

 
ZeroJudge Forum