1

Ruby を使って何ができるかを試しながら、偽の宝くじ番号を生成するこのプログラムをまとめました。

可能なすべての組み合わせを生成しようとしていますが、うまくいかないようです。どこが間違っているのか分かりますか?

lotto = [rand(1...50), rand(1...50), rand(1...50), rand(1...50), rand(1...50),  rand(1...50)].uniq

lotto_results = lotto.combination(6).cycle.to_a

puts "----START----"

count = 0

lotto_results.each do |x|
count += 1
puts "Comination #{count}: #{x}"
   puts "-------------"
  end

puts "----FINISH----"
4

3 に答える 3

2

可能なすべての組み合わせを印刷したい場合は、次のようにします。

(1..50).to_a.combination(6).each_with_index do |c, idx| 
  puts "combination #{idx}: #{c}"
end
于 2013-11-05T23:41:34.693 に答える
1

代わりにこれを試してください:

lotto = (1..50).to_a.shuffle[0..5]

補遺

マーク・アンドレ・ラフォーチュンが指摘するように、

(1..50).to_a.sample(6)

はるかに優れています。

于 2013-11-05T23:22:52.593 に答える
0
lotto = (1..50).to_a[0..50].combination(5)

count = 0

lotto.each do |x|
count += 1
puts "Combination #{count}: #{x}"
end
于 2013-11-05T23:45:08.077 に答える