カードは1枚110円で、全部で55種類、全てゲットするまでのシミュレーション
概要
ランダムにカードを引いて番号をSetに格納し、全てが揃うまでの回数から費用を計算する。 https://scrapbox.io/files/62640b657e3b8f0023e130ca.png
コード
code:ruby
require 'set'
class Simulator
NUMBER_OF_TYPES = 55
def self.simulate
set_of_cards = Set[]
all_types = (1..NUMBER_OF_TYPES).to_a
count = 0
while set_of_cards.size < NUMBER_OF_TYPES
you_get = all_types.sample
if set_of_cards.include?(you_get)
print "No.#{you_get}がダブった!"
else
print "😄No.#{you_get}をゲットした!"
end
set_of_cards << you_get
count += 1
puts "(#{count * 110}円、#{set_of_cards.size}/#{NUMBER_OF_TYPES}ゲットなう)"
end
puts "total=#{count}"
end
end
Simulator.simulate
リンク