0

(1) 特定のインデックス値まで配列内のフィボナッチ数列を生成し、(2) 指定されたインデックスのそのシーケンス内のすべての値の積を返すために、次のメソッドをまとめました。

master_num 値を 4 より大きくすると、問題が発生するようです。それ以前は、シーケンス生成メソッドと製品メソッドの両方が機能していました。私の問題は、Ruby がシーケンス配列のインデックスを作成する方法に関する私の頭の中の間違いに関連していると確信しています...

require 'pry'  #optional, i use pry to debug

master_num = 5

def gen_fib_sequence_up_to_index num
  rec_gen_fib_values num, []
end

def rec_gen_fib_values num, full_array
  start_array = [1,1]
  count = 0

  if num < start_array.size
    num
  end

  until start_array.size == num
    next_element = start_array[count] + start_array[count + 1]
    start_array.push(next_element)
    count += 1
  end
  return start_array
end

p gen_fib_sequence_up_to_index master_num

def fib_sequence_product sequence_array
  product = 1
  sequence_array.each do |i|
    product = product * sequence_array[i]
    #binding.pry
  end
  product
end

p fib_sequence_product gen_fib_sequence_up_to_index master_num

コメントや提案をありがとうございます。

4

1 に答える 1