#54663: 簡潔遞迴解


uf018127 (Jacob)


遞迴呼叫的時候累算Fib,遞迴返回的時候看現在這位要輸出1還是0並返回餘值,
 
def fibn(k, m1, m2):
  m0 = m1+m2 # 現在這位的Fib
  if m0 > k:
    return ('', k)
  pre, rem = fibn(k, m0, m1)
  if rem >= m0:
    return (pre+'1', rem-m0)
  else:
    return (pre+'0', rem)
...
pre, _ = fibn(k, 1, 0)