My magician gives you 3 regular dice
and asks you to do the following, while he is out of the room:
"Roll them, and write in sequence the three results, followed by a 3-digit number representing the hidden sides of the rolled dice.
Once you got the 6–digit number, divide it by 111.
THEN CALL ME."
Then he exits and you roll 1,2,4 and write down 124653, divide by 111 and get 1123.
The magician upon entering the room gets the result and quips within a second 1,2,4.
How did he do it?
Each row below shows the original augmented number; then the 4-digit number as presented to the magician. the last number shown on the line consists of three digits: the first is the first digit of what's presented to the magician; the second is the sum of the first two digits of that number; and the third is the sum of the first three digits of the presented number. Lo and behold, they show the first three digits of the original augmented number, that is, the three dice rolls.
111666 1006 111
112665 1015 112
113664 1024 113
114663 1033 114
115662 1042 115
116661 1051 116
122655 1105 122
123654 1114 123
124653 1123 124
125652 1132 125
126651 1141 126
133644 1204 133
134643 1213 134
135642 1222 135
136641 1231 136
144633 1303 144
145632 1312 145
146631 1321 146
155622 1402 155
156621 1411 156
166611 1501 166
222555 2005 222
223554 2014 223
224553 2023 224
225552 2032 225
226551 2041 226
233544 2104 233
234543 2113 234
235542 2122 235
236541 2131 236
244533 2203 244
245532 2212 245
246531 2221 246
255522 2302 255
256521 2311 256
266511 2401 266
333444 3004 333
334443 3013 334
335442 3022 335
336441 3031 336
344433 3103 344
345432 3112 345
346431 3121 346
355422 3202 355
356421 3211 356
366411 3301 366
444333 4003 444
445332 4012 445
446331 4021 446
455322 4102 455
456321 4111 456
466311 4201 466
555222 5002 555
556221 5011 556
566211 5101 566
666111 6001 666
DefDbl A-Z
Dim crlf$
Private Sub Form_Load()
Form1.Visible = True
Text1.Text = ""
crlf = Chr$(13) + Chr$(10)
For a = 1 To 6
For b = a To 6
For c = b To 6
ap = 7 - a: bp = 7 - b: cp = 7 - c
n6 = 100000 * a + 10000 * b + 1000 * c + 100 * ap + 10 * bp + cp
q = n6 / 111
qs$ = LTrim(Str(q))
anew = Val(Left(qs, 1))
bnew = Val(Left(qs, 1)) + Val(Mid(qs, 2, 1))
cnew = Val(Left(qs, 1)) + Val(Mid(qs, 2, 1)) + Val(Mid(qs, 3, 1))
Text1.Text = Text1.Text & n6 & Str(q) & Str(anew) & bnew & cnew & crlf
DoEvents
Next
Next
Next
Text1.Text = Text1.Text & crlf & " done"
End Sub
Edited on December 12, 2017, 11:02 am
|
Posted by Charlie
on 2017-12-12 11:01:33 |