質問: y else v -= u u *= 2 end end if v >= z a += 1 elsif v < u and v >= x b += 1 else c += 1 end end puts [a,b,c] ``` 最初に書いたコードがこれでした このコードだと、[a,b,c]のどれか1つに試行結果がいってしまうので何か間違いがあるのはわかるのですが、具体的な所が分かりません。 何がいけないのでしょうか?
回答: ``` print "所持金を入力してください:" x = gets.chomp.to_i v = x print "最初の掛け金を入力してください:" y = gets.chomp.to_i u = y print "目標金額を入力してください:" z = gets.chomp.to_i print "試行回数を入力してください:" n = gets.chomp.to_i i = 0 a = 0 b = 0 c = 0 n.times do until v < u || v >= z do i += 1 roulette = rand(2) i_choice = rand(2) if roulette == i_choice v += u + 1000 u = y else v -= u u *= 2 end end if v >= z a += 1 elsif v < u and v >= x b += 1 else c += 1 end v = x u = y end puts [a,b,c] ``` 最後に使った変数v,u,の初期化を忘れていました これで合っているでしょうか?