某掲示板にて
1 :止まない雨は名無しさん:2008/08/21(木) 16:04:26 id:llpRpJ2B0 ●に入る数字は何か? この数字を1000番目まで続けていくと3の倍数は何個あるか? 20分以内 答え1時間後
Rubyで解いてみた。
fib = Hash.new{|h, k|h[k] = h[k-1] + h[k-2]} cnt, fib[0], fib[1] = 0, 1, 1 1000.times{|i| cnt += 1 if fib[i] % 3 == 0 } puts "● = #{fib[4]}", "3の倍数 = #{cnt}個"
Hashを使って解いたので割と高速なはず。
ちなみに手計算で賢いのがいた
23 :止まない雨は名無しさん:2008/08/21(木) 16:28:42 ID:3qYoRHTs0 フィボナッチ数列を3で割った余りの数列 1,1,2,0,2,2,1,0,1,1,2,0,2,2,1,0, … [1,1,2,0,2,2,1,0]のパターンが1000個までに125回繰り返される。 2*125=250
この発想はなかった!