トリボナッチ数

トリボナッチ数というのを知った。

 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