We were dining in a crowded restaurant, where sharing a table with total strangers is a common practice.
The young couple (in their early twenties) seated next to us started some introductory small talk, which somehow drifted towards recreational mathematics.
I've explained the term, told them about Perplexus, puzzles, tricks etc.
After a while the young man asked for a sample trick, based on math.
The following dialog ensued:
I: - # Please take your calculator(or smartphone), enter an integer number representing your current age in years
and add to it a number immediately following it, then add another number telling your age 2 years from now.
If your age were 44, you would get 44+45+46, ok?
The result (i.e. the sum of your three numbers) multiply by # 67.
He: - Done.
I: - You see a 4-digit number, unknown to me, - please reveal me just one digit, the second from left and I will "calculate" your age.
He: - The second from left digit is 8.
I (in no time): - You are 23 years old.
He: How did you find it out?
I: - Up to you to "solve" it and then you will amaze your new friends…
S I L E N C E
She: - I promise to solve it if you show it one more time addressing my age, but I ask you not to use the number 67.
I: - Agree. Same instructions as above - (between two # signs), but multiplying by 34 and asking to disclose the last digit.
She: - The last digit is: __ (she told me).
I (in no time): You are 24.
Both guesses were correct.
By the end of our meal the young lady fully reconstructed the process.
How about you?
What was the last digit She got?
Is the trick infallible?
The results of the first process (the 67 process) would be:
age # of reported
digits digit
15 4 2 2
16 4 4 4
17 4 6 6
18 4 8 8
19 4 0 0
20 4 2 2
21 4 4 4
22 4 6 6
23 4 8 8
24 4 0 0
25 4 2 2
26 4 4 4
27 4 6 6
28 4 8 8
29 4 0 0
30 4 2 2
31 4 4 4
32 4 6 6
33 4 8 8
34 4 0 0
35 4 2 2
36 4 4 4
37 4 6 6
38 4 8 8
39 4 0 0
40 4 2 2
41 4 4 4
42 4 6 6
43 4 8 8
44 4 0 0
45 4 2 2
46 4 4 4
47 4 6 6
48 4 8 8
49 5 0 0
50 5 0 2
51 5 0 4
52 5 0 6
53 5 0 8
54 5 1 0
55 5 1 2
56 5 1 4
57 5 1 6
58 5 1 8
59 5 2 0
60 5 2 2
61 5 2 4
62 5 2 6
63 5 2 8
64 5 3 0
65 5 3 2
66 5 3 4
67 5 3 6
68 5 3 8
69 5 4 0
70 5 4 2
71 5 4 4
72 5 4 6
73 5 4 8
74 5 5 0
75 5 5 2
76 5 5 4
77 5 5 6
78 5 5 8
79 5 6 0
80 5 6 2
The presenter must be able to guess the person's age to a span of 5 years. At that point he must first decide how many digits the result will be and what reported digits correspond with which ages in the 5-year age range.
Note that past age 49, I show two "reported digits". The first of the two takes literally "the second digit from the left". That's useless in the case of the subject being over 49. In that case, "third digit from the right" is more useful, and in fact continues the sequence started at earlier ages.
The trick is not infallible, as the presenter might be quite off in the initial estimate. If the person looks close to 27 for example, and is actually 30, he or she would report 2 and the presenter would erroneously conclude the subject is 25.
The young man in the first case apparently reported the digit 8.
It works similarly for the "multiply by 34" method, which is even better as it uses the same, last, digit regardless of the age span estimated, and in the age range I've shown, up to 80, it's always a 4-digit number.
As seen in the table below, she apparently reported the digit 0.
15 4 2
16 4 4
17 4 6
18 4 8
19 4 0
20 4 2
21 4 4
22 4 6
23 4 8
24 4 0
25 4 2
26 4 4
27 4 6
28 4 8
29 4 0
30 4 2
31 4 4
32 4 6
33 4 8
34 4 0
35 4 2
36 4 4
37 4 6
38 4 8
39 4 0
40 4 2
41 4 4
42 4 6
43 4 8
44 4 0
45 4 2
46 4 4
47 4 6
48 4 8
49 4 0
50 4 2
51 4 4
52 4 6
53 4 8
54 4 0
55 4 2
56 4 4
57 4 6
58 4 8
59 4 0
60 4 2
61 4 4
62 4 6
63 4 8
64 4 0
65 4 2
66 4 4
67 4 6
68 4 8
69 4 0
70 4 2
71 4 4
72 4 6
73 4 8
74 4 0
75 4 2
76 4 4
77 4 6
78 4 8
79 4 0
80 4 2
DefDbl A-Z
Dim crlf$, used(9)
Private Sub Form_Load()
ChDir "C:\Program Files (x86)\DevStudio\VB\projects\flooble"
Text1.Text = ""
crlf$ = Chr(13) + Chr(10)
Form1.Visible = True
DoEvents
For age = 15 To 80
Text1.Text = Text1.Text & Str(age) & " "
addend = age + 1
tot = 2 * age + 2 + addend
prod = 67 * tot
s$ = LTrim(Str(prod))
Text1.Text = Text1.Text & Str(Len(s$)) & " " & Mid(s$, 2, 1) & " "
Text1.Text = Text1.Text & Str(Mid(s$, Len(s$) - 2, 1))
Text1.Text = Text1.Text & crlf
DoEvents
Next
Text1.Text = Text1.Text & crlf
Text1.Text = Text1.Text & crlf
For age = 15 To 80
Text1.Text = Text1.Text & Str(age) & " "
addend = age + 1
tot = 2 * age + 2 + addend
prod = 34 * tot
s$ = LTrim(Str(prod))
Text1.Text = Text1.Text & Str(Len(s$)) & " "
Text1.Text = Text1.Text & Str(Mid(s$, Len(s$), 1))
Text1.Text = Text1.Text & crlf
DoEvents
Next
Text1.Text = Text1.Text & crlf & "done"
End Sub
|
Posted by Charlie
on 2014-08-08 13:14:29 |