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

Content added Content deleted
m (→‎{{header|REXX}}: used idiomatic code for output spacing, added/changed comments and whitespace.)
Line 1,531: Line 1,531:
<lang rexx>/*REXX program simulates a 7─sided die based on a 5─sided throw for a number of trials. */
<lang rexx>/*REXX program simulates a 7─sided die based on a 5─sided throw for a number of trials. */
parse arg trials sample seed . /*obtain optional arguments from the CL*/
parse arg trials sample seed . /*obtain optional arguments from the CL*/
if trials=='' | trials="," then trials= 1 /*Not specified? Then use the default.*/
if trials=='' | trials="," then trials= 1 /*Not specified? Then use the default.*/
if sample=='' | sample="," then sample=1000000 /* " " " " " " */
if sample=='' | sample="," then sample= 1000000 /* " " " " " " */
if datatype(seed,'W') then call random ,,seed /*Integer? Then use it as a RAND seed.*/
if datatype(seed,'W') then call random ,,seed /*Integer? Then use it as a RAND seed.*/
/* [↑] one million samples to be used.*/
L= length(trials) /* [↑] one million samples to be used.*/
do #=1 for trials; die.=0 /*performs the number of desired trials*/
k=0
do until k==sample; r=5 * random(1, 5) + random(1, 5) - 6
if r>20 then iterate
k=k+1; r=r // 7 + 1; die.r=die.r + 1
end /*until*/
say
expect=sample%7
say center('trial:'right(#, 4) " " sample 'samples, expect='expect, 80, "─")


do j=1 for 7
do #=1 for trials; die.= 0 /*performs the number of desired trials*/
k= 0
say ' side' j "had " die.j ' occurrences',
' difference from expected:'right(die.j-expect, length(sample))
do until k==sample; r= 5 * random(1, 5) + random(1, 5) - 6
end /*j*/
if r>20 then iterate
end /*#*/ /*stick a fork in it, we're all done. */</lang>
k= k+1; r=r // 7 + 1; die.r= die.r + 1
end /*until*/
say
expect= sample % 7
say center('trial:' right(#, L) " " sample 'samples, expect' expect, 80, "─")

do j=1 for 7
say ' side' j "had " die.j ' occurrences',
' difference from expected:'right(die.j - expect, length(sample) )
end /*j*/
end /*#*/ /*stick a fork in it, we're all done. */</lang>
{{out|output|text=&nbsp; when using the input of: &nbsp; &nbsp; <tt> 11 </tt>}}
{{out|output|text=&nbsp; when using the input of: &nbsp; &nbsp; <tt> 11 </tt>}}


Line 1,555: Line 1,556:


<pre style="font-size:84%;height:71ex">
<pre style="font-size:84%;height:71ex">
─────────────────trial: 1 1000000 samples, expect=142857──────────────────
──────────────────trial: 1 1000000 samples, expect 142857──────────────────
side 1 had 142990 occurrences difference from expected: 133
side 1 had 142076 occurrences difference from expected: -781
side 2 had 142811 occurrences difference from expected: -46
side 2 had 143053 occurrences difference from expected: 196
side 3 had 143348 occurrences difference from expected: 491
side 3 had 142342 occurrences difference from expected: -515
side 4 had 143219 occurrences difference from expected: 362
side 4 had 142633 occurrences difference from expected: -224
side 5 had 142717 occurrences difference from expected: -140
side 5 had 143024 occurrences difference from expected: 167
side 6 had 141951 occurrences difference from expected: -906
side 6 had 143827 occurrences difference from expected: 970
side 7 had 142964 occurrences difference from expected: 107
side 7 had 143045 occurrences difference from expected: 188


─────────────────trial: 2 1000000 samples, expect=142857──────────────────
──────────────────trial: 2 1000000 samples, expect 142857──────────────────
side 1 had 142707 occurrences difference from expected: -150
side 1 had 143470 occurrences difference from expected: 613
side 2 had 142512 occurrences difference from expected: -345
side 2 had 142998 occurrences difference from expected: 141
side 3 had 143038 occurrences difference from expected: 181
side 3 had 142654 occurrences difference from expected: -203
side 4 had 143268 occurrences difference from expected: 411
side 4 had 142545 occurrences difference from expected: -312
side 5 had 142629 occurrences difference from expected: -228
side 5 had 142452 occurrences difference from expected: -405
side 6 had 142902 occurrences difference from expected: 45
side 6 had 143144 occurrences difference from expected: 287
side 7 had 142944 occurrences difference from expected: 87
side 7 had 142737 occurrences difference from expected: -120


─────────────────trial: 3 1000000 samples, expect=142857──────────────────
──────────────────trial: 3 1000000 samples, expect 142857──────────────────
side 1 had 142743 occurrences difference from expected: -114
side 1 had 142773 occurrences difference from expected: -84
side 2 had 142674 occurrences difference from expected: -183
side 2 had 143198 occurrences difference from expected: 341
side 3 had 142834 occurrences difference from expected: -23
side 3 had 142296 occurrences difference from expected: -561
side 4 had 142668 occurrences difference from expected: -189
side 4 had 142804 occurrences difference from expected: -53
side 5 had 143108 occurrences difference from expected: 251
side 5 had 142897 occurrences difference from expected: 40
side 6 had 142727 occurrences difference from expected: -130
side 6 had 142382 occurrences difference from expected: -475
side 7 had 143246 occurrences difference from expected: 389
side 7 had 143650 occurrences difference from expected: 793


─────────────────trial: 4 1000000 samples, expect=142857──────────────────
──────────────────trial: 4 1000000 samples, expect 142857──────────────────
side 1 had 142575 occurrences difference from expected: -282
side 1 had 143150 occurrences difference from expected: 293
side 2 had 143139 occurrences difference from expected: 282
side 2 had 142635 occurrences difference from expected: -222
side 3 had 142618 occurrences difference from expected: -239
side 3 had 142763 occurrences difference from expected: -94
side 4 had 142647 occurrences difference from expected: -210
side 4 had 142853 occurrences difference from expected: -4
side 5 had 142204 occurrences difference from expected: -653
side 5 had 143132 occurrences difference from expected: 275
side 6 had 143228 occurrences difference from expected: 371
side 6 had 142403 occurrences difference from expected: -454
side 7 had 143589 occurrences difference from expected: 732
side 7 had 143064 occurrences difference from expected: 207


─────────────────trial: 5 1000000 samples, expect=142857──────────────────
──────────────────trial: 5 1000000 samples, expect 142857──────────────────
side 1 had 142539 occurrences difference from expected: -318
side 1 had 143041 occurrences difference from expected: 184
side 2 had 143490 occurrences difference from expected: 633
side 2 had 142701 occurrences difference from expected: -156
side 3 had 142261 occurrences difference from expected: -596
side 3 had 143416 occurrences difference from expected: 559
side 4 had 142755 occurrences difference from expected: -102
side 4 had 142097 occurrences difference from expected: -760
side 5 had 142976 occurrences difference from expected: 119
side 5 had 142451 occurrences difference from expected: -406
side 6 had 143188 occurrences difference from expected: 331
side 6 had 143332 occurrences difference from expected: 475
side 7 had 142791 occurrences difference from expected: -66
side 7 had 142962 occurrences difference from expected: 105


─────────────────trial: 6 1000000 samples, expect=142857──────────────────
──────────────────trial: 6 1000000 samples, expect 142857──────────────────
side 1 had 142706 occurrences difference from expected: -151
side 1 had 142502 occurrences difference from expected: -355
side 2 had 142344 occurrences difference from expected: -513
side 2 had 142429 occurrences difference from expected: -428
side 3 had 143243 occurrences difference from expected: 386
side 3 had 143146 occurrences difference from expected: 289
side 4 had 143626 occurrences difference from expected: 769
side 4 had 142791 occurrences difference from expected: -66
side 5 had 142555 occurrences difference from expected: -302
side 5 had 143271 occurrences difference from expected: 414
side 6 had 142530 occurrences difference from expected: -327
side 6 had 143415 occurrences difference from expected: 558
side 7 had 142996 occurrences difference from expected: 139
side 7 had 142446 occurrences difference from expected: -411


─────────────────trial: 7 1000000 samples, expect=142857──────────────────
──────────────────trial: 7 1000000 samples, expect 142857──────────────────
side 1 had 142901 occurrences difference from expected: 44
side 1 had 142700 occurrences difference from expected: -157
side 2 had 142950 occurrences difference from expected: 93
side 2 had 142691 occurrences difference from expected: -166
side 3 had 143147 occurrences difference from expected: 290
side 3 had 143067 occurrences difference from expected: 210
side 4 had 142081 occurrences difference from expected: -776
side 4 had 141562 occurrences difference from expected: -1295
side 5 had 143423 occurrences difference from expected: 566
side 5 had 143316 occurrences difference from expected: 459
side 6 had 141965 occurrences difference from expected: -892
side 6 had 143150 occurrences difference from expected: 293
side 7 had 143533 occurrences difference from expected: 676
side 7 had 143514 occurrences difference from expected: 657


─────────────────trial: 8 1000000 samples, expect=142857──────────────────
──────────────────trial: 8 1000000 samples, expect 142857──────────────────
side 1 had 142818 occurrences difference from expected: -39
side 1 had 142362 occurrences difference from expected: -495
side 2 had 142681 occurrences difference from expected: -176
side 2 had 143298 occurrences difference from expected: 441
side 3 had 142886 occurrences difference from expected: 29
side 3 had 142639 occurrences difference from expected: -218
side 4 had 142975 occurrences difference from expected: 118
side 4 had 142811 occurrences difference from expected: -46
side 5 had 142987 occurrences difference from expected: 130
side 5 had 143275 occurrences difference from expected: 418
side 6 had 142781 occurrences difference from expected: -76
side 6 had 142765 occurrences difference from expected: -92
side 7 had 142872 occurrences difference from expected: 15
side 7 had 142850 occurrences difference from expected: -7


─────────────────trial: 9 1000000 samples, expect=142857──────────────────
──────────────────trial: 9 1000000 samples, expect 142857──────────────────
side 1 had 143501 occurrences difference from expected: 644
side 1 had 143508 occurrences difference from expected: 651
side 2 had 142404 occurrences difference from expected: -453
side 2 had 142650 occurrences difference from expected: -207
side 3 had 142882 occurrences difference from expected: 25
side 3 had 142614 occurrences difference from expected: -243
side 4 had 143051 occurrences difference from expected: 194
side 4 had 142916 occurrences difference from expected: 59
side 5 had 142479 occurrences difference from expected: -378
side 5 had 142944 occurrences difference from expected: 87
side 6 had 142664 occurrences difference from expected: -193
side 6 had 143129 occurrences difference from expected: 272
side 7 had 143019 occurrences difference from expected: 162
side 7 had 142239 occurrences difference from expected: -618


─────────────────trial: 10 1000000 samples, expect=142857──────────────────
──────────────────trial: 10 1000000 samples, expect 142857──────────────────
side 1 had 142945 occurrences difference from expected: 88
side 1 had 142455 occurrences difference from expected: -402
side 2 had 143142 occurrences difference from expected: 285
side 2 had 143112 occurrences difference from expected: 255
side 3 had 142843 occurrences difference from expected: -14
side 3 had 143435 occurrences difference from expected: 578
side 4 had 143043 occurrences difference from expected: 186
side 4 had 142704 occurrences difference from expected: -153
side 5 had 142558 occurrences difference from expected: -299
side 5 had 142376 occurrences difference from expected: -481
side 6 had 142834 occurrences difference from expected: -23
side 6 had 142721 occurrences difference from expected: -136
side 7 had 142635 occurrences difference from expected: -222
side 7 had 143197 occurrences difference from expected: 340


─────────────────trial: 11 1000000 samples, expect=142857──────────────────
──────────────────trial: 11 1000000 samples, expect 142857──────────────────
side 1 had 143248 occurrences difference from expected: 391
side 1 had 142967 occurrences difference from expected: 110
side 2 had 142878 occurrences difference from expected: 21
side 2 had 142204 occurrences difference from expected: -653
side 3 had 142229 occurrences difference from expected: -628
side 3 had 142993 occurrences difference from expected: 136
side 4 had 142902 occurrences difference from expected: 45
side 4 had 142797 occurrences difference from expected: -60
side 5 had 142685 occurrences difference from expected: -172
side 5 had 143081 occurrences difference from expected: 224
side 6 had 143214 occurrences difference from expected: 357
side 6 had 142711 occurrences difference from expected: -146
side 7 had 142844 occurrences difference from expected: -13
side 7 had 143247 occurrences difference from expected: 390
</pre>
</pre>