Seven-sided dice from five-sided dice: Difference between revisions
Content added Content deleted
(Added Kotlin) |
m (→{{header|REXX}}: added/changed comments and whitespace, changed indentations, elided a blank line in the output, added option to specify a seed (for RANDOM) for repeatability, change height of output window.) |
||
Line 1,446: | Line 1,446: | ||
=={{header|REXX}}== |
=={{header|REXX}}== |
||
<lang rexx>/*REXX program |
<lang rexx>/*REXX program simulates a 7─sided die based on a 5─sided throw for a number of trials. */ |
||
parse arg trials sample . |
parse arg trials sample seed . /*obtain optional arguments from the CL*/ |
||
if trials=='' then trials= 1 |
if trials=='' | trials="," then trials= 1 /*Not specified? Then use the default.*/ |
||
if sample=='' then sample=1000000 |
if sample=='' | sample="," then sample=1000000 /* " " " " " " */ |
||
if datatype(seed,'W') then call random ,,seed /*Numeric? Then use it as a RAND seed.*/ |
|||
/* [↑] one million samples to be used.*/ |
|||
do #=1 for trials; die.=0 /*performs the number of desired trials*/ |
do #=1 for trials; die.=0 /*performs the number of desired trials*/ |
||
k=0 |
k=0 |
||
do until k==sample; |
do until k==sample; r=5 * random(1, 5) + random(1, 5) - 6 |
||
if r>20 then iterate |
if r>20 then iterate |
||
k=k+1; r=r // 7 + 1; |
k=k+1; r=r // 7 + 1; die.r=die.r + 1 |
||
end /*until*/ |
end /*until*/ |
||
say |
say |
||
expect=sample%7 |
expect=sample%7 |
||
say center('trial:'right(#, 4) " " sample 'samples, expect='expect, |
say center('trial:'right(#, 4) " " sample 'samples, expect='expect, 80, "─") |
||
say |
|||
do j=1 for 7 |
do j=1 for 7 |
||
say ' side' |
say ' side' j "had " die.j ' occurrences', |
||
' difference from expected:'right(die.j-expect, length(sample)) |
' difference from expected:'right(die.j-expect, length(sample)) |
||
end /*j*/ |
end /*j*/ |
||
end |
end /*#*/ /*stick a fork in it, we're all done. */</lang> |
||
{{out|output|text= when using the input of: <tt> 11 </tt>}} |
{{out|output|text= when using the input of: <tt> 11 </tt>}} |
||
<br>(Shown at five-sixth size.) |
<br>(Shown at five-sixth size.) |
||
<pre style="font-size:84%;height: |
<pre style="font-size:84%;height:71ex"> |
||
─────────────────trial: 1 1000000 samples, expect= |
─────────────────trial: 1 1000000 samples, expect=142857────────────────── |
||
side 1 had 142990 occurrences difference from expected: 133 |
|||
side |
side 2 had 142811 occurrences difference from expected: -46 |
||
side |
side 3 had 143348 occurrences difference from expected: 491 |
||
side |
side 4 had 143219 occurrences difference from expected: 362 |
||
side |
side 5 had 142717 occurrences difference from expected: -140 |
||
side |
side 6 had 141951 occurrences difference from expected: -906 |
||
side |
side 7 had 142964 occurrences difference from expected: 107 |
||
side 7 had 142588 occurrences difference from expected: -269 |
|||
─────────────────trial: 2 1000000 samples, expect=142857───────────────── |
|||
side 1 had 142583 occurrences difference from expected: -274 |
|||
side 2 had 142797 occurrences difference from expected: -60 |
|||
side 3 had 143093 occurrences difference from expected: 236 |
|||
side 4 had 142168 occurrences difference from expected: -689 |
|||
side 5 had 143203 occurrences difference from expected: 346 |
|||
side 6 had 143260 occurrences difference from expected: 403 |
|||
side 7 had 142896 occurrences difference from expected: 39 |
|||
─────────────────trial: 3 1000000 samples, expect=142857───────────────── |
|||
side 1 had 143089 occurrences difference from expected: 232 |
|||
side 2 had 142815 occurrences difference from expected: -42 |
|||
side 3 had 142645 occurrences difference from expected: -212 |
|||
side 4 had 142959 occurrences difference from expected: 102 |
|||
side 5 had 142764 occurrences difference from expected: -93 |
|||
side 6 had 143205 occurrences difference from expected: 348 |
|||
side 7 had 142523 occurrences difference from expected: -334 |
|||
─────────────────trial: 4 1000000 samples, expect=142857───────────────── |
|||
side 1 had 142535 occurrences difference from expected: -322 |
|||
side 2 had 142316 occurrences difference from expected: -541 |
|||
side 3 had 143101 occurrences difference from expected: 244 |
|||
side 4 had 143159 occurrences difference from expected: 302 |
|||
side 5 had 143130 occurrences difference from expected: 273 |
|||
side 6 had 142551 occurrences difference from expected: -306 |
|||
side 7 had 143208 occurrences difference from expected: 351 |
|||
─────────────────trial: 5 1000000 samples, expect=142857───────────────── |
|||
side 1 had 143335 occurrences difference from expected: 478 |
|||
side 2 had 142296 occurrences difference from expected: -561 |
|||
side 3 had 142500 occurrences difference from expected: -357 |
|||
side 4 had 142775 occurrences difference from expected: -82 |
|||
side 5 had 142581 occurrences difference from expected: -276 |
|||
side 6 had 143363 occurrences difference from expected: 506 |
|||
side 7 had 143150 occurrences difference from expected: 293 |
|||
─────────────────trial: 6 1000000 samples, expect=142857───────────────── |
|||
side 1 had 142593 occurrences difference from expected: -264 |
|||
side 2 had 143012 occurrences difference from expected: 155 |
|||
side 3 had 142703 occurrences difference from expected: -154 |
|||
side 4 had 143702 occurrences difference from expected: 845 |
|||
side 5 had 142867 occurrences difference from expected: 10 |
|||
side 6 had 142158 occurrences difference from expected: -699 |
|||
side 7 had 142965 occurrences difference from expected: 108 |
|||
─────────────────trial: |
─────────────────trial: 2 1000000 samples, expect=142857────────────────── |
||
side 1 had 142707 occurrences difference from expected: -150 |
|||
side 2 had 142512 occurrences difference from expected: -345 |
|||
side 3 had 143038 occurrences difference from expected: 181 |
|||
side 4 had 143268 occurrences difference from expected: 411 |
|||
side 5 had 142629 occurrences difference from expected: -228 |
|||
side 6 had 142902 occurrences difference from expected: 45 |
|||
side 7 had 142944 occurrences difference from expected: 87 |
|||
─────────────────trial: 3 1000000 samples, expect=142857────────────────── |
|||
side 1 had 143065 occurrences difference from expected: 208 |
|||
side |
side 1 had 142743 occurrences difference from expected: -114 |
||
side |
side 2 had 142674 occurrences difference from expected: -183 |
||
side |
side 3 had 142834 occurrences difference from expected: -23 |
||
side |
side 4 had 142668 occurrences difference from expected: -189 |
||
side |
side 5 had 143108 occurrences difference from expected: 251 |
||
side |
side 6 had 142727 occurrences difference from expected: -130 |
||
side 7 had 143246 occurrences difference from expected: 389 |
|||
─────────────────trial: |
─────────────────trial: 4 1000000 samples, expect=142857────────────────── |
||
side 1 had 142575 occurrences difference from expected: -282 |
|||
side 2 had 143139 occurrences difference from expected: 282 |
|||
side 3 had 142618 occurrences difference from expected: -239 |
|||
side 4 had 142647 occurrences difference from expected: -210 |
|||
side 5 had 142204 occurrences difference from expected: -653 |
|||
side 6 had 143228 occurrences difference from expected: 371 |
|||
side 7 had 143589 occurrences difference from expected: 732 |
|||
─────────────────trial: 5 1000000 samples, expect=142857────────────────── |
|||
side 1 had 142745 occurrences difference from expected: -112 |
|||
side |
side 1 had 142539 occurrences difference from expected: -318 |
||
side |
side 2 had 143490 occurrences difference from expected: 633 |
||
side |
side 3 had 142261 occurrences difference from expected: -596 |
||
side |
side 4 had 142755 occurrences difference from expected: -102 |
||
side |
side 5 had 142976 occurrences difference from expected: 119 |
||
side |
side 6 had 143188 occurrences difference from expected: 331 |
||
side 7 had 142791 occurrences difference from expected: -66 |
|||
─────────────────trial: |
─────────────────trial: 6 1000000 samples, expect=142857────────────────── |
||
side 1 had 142706 occurrences difference from expected: -151 |
|||
side 2 had 142344 occurrences difference from expected: -513 |
|||
side 3 had 143243 occurrences difference from expected: 386 |
|||
side 4 had 143626 occurrences difference from expected: 769 |
|||
side 5 had 142555 occurrences difference from expected: -302 |
|||
side 6 had 142530 occurrences difference from expected: -327 |
|||
side 7 had 142996 occurrences difference from expected: 139 |
|||
─────────────────trial: 7 1000000 samples, expect=142857────────────────── |
|||
side 1 had 142320 occurrences difference from expected: -537 |
|||
side |
side 1 had 142901 occurrences difference from expected: 44 |
||
side |
side 2 had 142950 occurrences difference from expected: 93 |
||
side |
side 3 had 143147 occurrences difference from expected: 290 |
||
side |
side 4 had 142081 occurrences difference from expected: -776 |
||
side |
side 5 had 143423 occurrences difference from expected: 566 |
||
side |
side 6 had 141965 occurrences difference from expected: -892 |
||
side 7 had 143533 occurrences difference from expected: 676 |
|||
─────────────────trial: |
─────────────────trial: 8 1000000 samples, expect=142857────────────────── |
||
side 1 had 142818 occurrences difference from expected: -39 |
|||
side 2 had 142681 occurrences difference from expected: -176 |
|||
side 3 had 142886 occurrences difference from expected: 29 |
|||
side 4 had 142975 occurrences difference from expected: 118 |
|||
side 5 had 142987 occurrences difference from expected: 130 |
|||
side 6 had 142781 occurrences difference from expected: -76 |
|||
side 7 had 142872 occurrences difference from expected: 15 |
|||
─────────────────trial: 9 1000000 samples, expect=142857────────────────── |
|||
side 1 had 142725 occurrences difference from expected: -132 |
|||
side |
side 1 had 143501 occurrences difference from expected: 644 |
||
side |
side 2 had 142404 occurrences difference from expected: -453 |
||
side |
side 3 had 142882 occurrences difference from expected: 25 |
||
side |
side 4 had 143051 occurrences difference from expected: 194 |
||
side |
side 5 had 142479 occurrences difference from expected: -378 |
||
side |
side 6 had 142664 occurrences difference from expected: -193 |
||
side 7 had 143019 occurrences difference from expected: 162 |
|||
─────────────────trial: |
─────────────────trial: 10 1000000 samples, expect=142857────────────────── |
||
side 1 had 142945 occurrences difference from expected: 88 |
|||
side 2 had 143142 occurrences difference from expected: 285 |
|||
side 3 had 142843 occurrences difference from expected: -14 |
|||
side 4 had 143043 occurrences difference from expected: 186 |
|||
side 5 had 142558 occurrences difference from expected: -299 |
|||
side 6 had 142834 occurrences difference from expected: -23 |
|||
side 7 had 142635 occurrences difference from expected: -222 |
|||
─────────────────trial: 11 1000000 samples, expect=142857────────────────── |
|||
side 1 had 142825 occurrences difference from expected: -32 |
|||
side |
side 1 had 143248 occurrences difference from expected: 391 |
||
side |
side 2 had 142878 occurrences difference from expected: 21 |
||
side |
side 3 had 142229 occurrences difference from expected: -628 |
||
side |
side 4 had 142902 occurrences difference from expected: 45 |
||
side |
side 5 had 142685 occurrences difference from expected: -172 |
||
side |
side 6 had 143214 occurrences difference from expected: 357 |
||
side 7 had 142844 occurrences difference from expected: -13 |
|||
</pre> |
</pre> |
||