昔から有名なフィボナッチ数列という数列がある。その最初の項を書き並べると次のように なっている。
1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
フィボナッチ数列の定義は次のようなものである。 実際に定義に従って計算してみて,上の数列が現れることを 確かめなさい。
初項(第1項)と第2項はいずれも1とする。
a1 = 1
a2 = 1
第3項以降は,その前の2つの項の和で与えられる(ここが重要)。
an=an−1+an−2
・第何項まで計算したいかをコマンドライン引数で指定する。
・フィボナッチ数列は配列 fibo[] に 格納する。
なお,このプログラムでは fibo[0] は使っていない。
以下の形式で出力したい
n = ARGV[0].to_i
fibo = []
fibo[1], fibo[2] に値を与える
for ループで fibo[3] 以降を計算する。
..
ループ終わり
for i in 1 .. n # 数列を出力する
print fibo[i], " "
if i % 10 == 0 then # 10, 20, 30, で改行を入れる
puts
end
end
自分の回答
n = ARGV[0].to_i
fibo[1] = 1
fibo[2] = 1
for i in 1 .. n
print fibo[i], "i = n-2 + n-1 "
if i % 10 == 0 then
puts""
end
end
まず、fiboがよくわかりません。
putsの後の出力も全くわからないです。
お返事お願いします。
回答3件
あなたの回答
tips
プレビュー