2013-11-26 53 views
1

我正在做一個小型的彩票紅寶石程序。繪製隨機數字方法

我有一個問題,如何獲得大量的隨機數。

彩票有一個序列號和一個lotterynumber。

我使用此代碼挑選5個數字。

lottery = (1..99999).to_a.sample 5 
serial = (1..180).to_a.sample 5 

問題是這些需要5個不同的序列號和彩票號碼。我希望它能夠選擇與其他一些號碼相同的號碼,但它不應該能夠選擇序列號和彩票號碼。

例如:

Draws: 
97449 053 
97449 055 
33559 053 

我怎樣才能使一個方法確保其將能夠選擇相同的序列號或彩票號碼?但它不能選擇相同的序列號和開獎號碼

+0

你想要5個彩票號碼和一個不同於彩票號碼的序列號,對不對? – Stefan

+0

nope 1票有一個彩票號碼和一個序列號。 我會畫出5張票號。 它不能畫出相同的彩票和序列號 ,但它可以繪製相同的彩票號碼,但是序列號必須不同 它也可以繪製相同的序列號,但是那麼彩票號碼必須不同 – user3033493

回答

0

這個怎麼樣的代碼?

tickets = [] 
while tickets.length < 5 
    this_ticket = [rand(99999)+1, rand(180)+1] 
    tickets << this_ticket unless tickets.include? this_ticket 
end 
p tickets 

=> [[80947, 67], [61828, 72], [88452, 103], [24607, 84], [18141, 40]] 

這會生成一個票據,並且只會將其添加到票據列表中(如果它尚不存在)。

2

也許是這樣的:

(0..18099999).to_a.sample(5).map{|n| [n%100000,n/100000]}