Seven-sided dice from five-sided dice: Difference between revisions

add Ruby
(add Ruby)
Line 1:
{{task|Probability and statistics}}
Given an equal-probability generator of one of the integers 1 to 5
as dice5; create dice7 that generates a pseudo-random integer from
Line 58:
{1: 142853, 2: 142576, 3: 143067, 4: 142149, 5: 143189, 6: 143285, 7: 142881}
</pre>
 
=={{header|Ruby}}==
{{trans|Tcl}}
 
Uses <code>distcheck</code> from [[Simple_Random_Distribution_Checker#Ruby|here]].
<lang ruby>require './distcheck.rb'
 
def d5
1 + rand(5)
end
 
def d7
loop do
d55 = 5*d5() + d5() - 6
return (d55 % 7 + 1) if d55 < 21
end
end
 
distcheck( method(:d5), 1_000_000)
distcheck( method(:d7), 1_000_000)</lang>
 
output
<pre>1 200478 2 199986 3 199582 4 199560 5 200394
1 142371 2 142577 3 143328 4 143630 5 142553 6 142692 7 142849 </pre>
 
=={{header|Tcl}}==
Anonymous user