階段状に現れるフィボナッチ数列
(n が増えると形が崩れてくるが)きれいに並んでいる。
def f(m, n)
l = m - n
ary = Array.new(l, 1)
p ary
n.times{|i|
new_ary = ary.clone
new_ary.shift
(1..new_ary.size - 1).each{|i|
new_ary[i] += new_ary[i - 1]
}
new_ary.push(new_ary[-1])
ary = new_ary
p [0] * (i + 1) + ary
}
end
l = 4
n = 6
m = n + l
f(m, n)
[1, 1, 1, 1]
[0, 1, 2, 3, 3]
[0, 0, 2, 5, 8, 8]
[0, 0, 0, 5, 13, 21, 21]
[0, 0, 0, 0, 13, 34, 55, 55]
[0, 0, 0, 0, 0, 34, 89, 144, 144]
[0, 0, 0, 0, 0, 0, 89, 233, 377, 377]
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。