トリボナッチ数というのを知った。
cf. フィボナッチ数,トリボナッチ数 – arik_egaのノート
要するに、フィボナッチ数が前2項の和であるのにたいして、トリボナッチ数は前3項の和である数。最初の3項は 0,0,1。詳しくは Wikipedia で。
Python のジェネレータで書いてみた。
def tribonacci(n): a, b, c = 0, 0, 1 m = 0 while m < n: yield a a, b, c = b, c, (a + b + c) m += 1 for t in tribonacci(20): print t [/crayon]
この例では、最初の20項を出力している。 実行例:
^o^ > python tribonacci.py 0 0 1 1 2 4 7 13 24 44 81 149 274 504 927 1705 3136 5768 10609 19513