Pisano period
オンライン整数列大辞典の
A001175(http://oeis.org/A001175/list)
と比較し、答え合わせしてみる。
def pisano_period(n)
return 1 if n == 1
a, b = 0, 1
i = 2
while !(a == n - 1 && b == 1)
a, b = b, a + b
b %= n
i += 1
end
i
end
def A001175(n)
(1..n).map{|i| pisano_period(i)}
end
ary = A001175(67)
# OEIS A001175のデータ
ary0 =
[1,3,8,6,20,24,16,12,24,60,10,24,28,48,40,24,36,
24,18,60,16,30,48,24,100,84,72,48,14,120,30,48,40,
36,80,24,76,18,56,60,40,48,88,30,120,48,32,24,112,
300,72,84,108,72,20,48,72,42,58,120,60,30,48,96,
140,120,136]
# 一致の確認
p ary == ary0
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。