Stack Overflowを検索したところ、私の質問は見つかりませんでしたので、投稿するのが安全だと思います。私はフィボナッチシーケンスの最初の10個の整数を出力し、最初の10個の整数を合計して合計を出力する標準的なコードに取り組んでいます。私が書いたコードは本質的には機能しますが、コードを効率的にするために、地図を結合してメソッドを底に注入しようとしています。どんな入力も非常に高く評価されます。Ruby Integer for Fibonacci Sequence
def fib(n)
return 1 if n <= 2
fib_index = 3
a, b = 1, 1
while fib_index <= n
c = a + b
a = b
b = c
fib_index += 1
end
c
end
p (1..10).map {|i| fib(i)}
p (1..10).inject {|sum, i| sum + fib(i)}
私はまた、再帰を使用する方法に興味を持っています:
def fibonacci(n)
return n if n <= 1
fibonacci(n - 1) + fibonacci(n - 2)
end
p (1..10).map {|i| fibonacci(i)}
p (1..10).inject {|sum, i| sum + fibonacci(i)}
私はあなたの再帰的な代替を示すには何の目的を見ません。質問はシーケンスを計算することではなく、値を合計することです。 –