#45141: python 用遞迴生成遞迴樹


sam851015@gmail.com (多挖鼻孔有益身心健康)

學校 : 臺中市立惠文高級中學
編號 : 277705
來源 : [123.192.228.253]
最後登入時間 :
2025-03-11 12:39:29
d486. Fibonacci 's computation process -- 學姊 | From: [123.192.228.253] | 發表日期 : 2025-01-14 11:56

目前看到的解都是把遞迴用在計算第 n 個費波納契數,用遞迴做遞迴樹的好像沒人分享

分享一下我的寫法

 

我是和計算計算第 n 個費波納契數的函數分開做的

def gen_fib_tree(nums: list):
  print(' '.join(f'f({i})' for i in nums))
    if all(i < 2 for i in nums):
        return

  temp = []
    for i in range(len(nums)):
        if nums[i] < 2:
          temp.append(nums[i])
      else:
          temp.extend([nums[i] - 1, nums[i] - 2])
    return gen_fib_tree(temp)

 

題外話,如果想用題目提供的函數計算費波那契數,又想提高效率,可以參考我在 k402 寫的解題報告

連結點我

基本邏輯就是已經算過、已經知道答案的,就直接把之前算的答案拿出來,不再重新計算

 

 
ZeroJudge Forum