![]() |
![]() |
#1 (permalink) |
On the lam
Location: northern va
|
Three Hats--Another great math problem...
This one is from my alumni magazine:
Three logical people--A, B, and C--are wearing hats with positive integers painted on them. Each person sees the other two numbers, but not his own. Each person knows that the numbers are positive integers and that one of them is the sum of the other two. A, B, and C take turns in a contest to see who can be the first to determine his number. In the first round, A, B, and C all pass, but in the second round, A correctly asserts that his number is 50. What are the other two numbers, and how did A figure it out?
__________________
oh baby oh baby, i like gravy. |
![]() |
![]() |
#2 (permalink) |
Insane
Location: Pennsylvania
|
It doesn't really doesn't matter which of B and C have which number so I will just go in order. B's number is 1. Since this is the least natural number, it cannot be the sum of two other numbers. C's number is 49. Then, A's number is either 48 or 50. So, with even money odds, A decides to guess. A then correctly guesses 50.
Alternatively, both B and C are 25, and thus can't be the sum of the other two numbers unless A is 0, a contradiction. So A is 50. Last edited by Giltwist; 04-22-2004 at 01:46 PM.. |
![]() |
![]() |
#3 (permalink) |
Wehret Den Anfängen!
Location: Ontario, Canada
|
Probably not a waterproof proof, but a good start.
The "X" character reads "contradiction" in this walkthrough. A sees B and C, and passes. B and C know that A would NOT pass if B=C (if B=C, then A would know A=B+C, and would know what A was) B sees A=50 (who passed) and C, and passes B knows B!=C because A passed A and C know B would not pass if C=A If (A=2C) then either (A=B+C => B=C, X) or (A+C=B) or (A+B=C). But C < A so (A+B=C) is impossible, in which case he would know (A+C=B) and have his value. Thus, A and C know B would not pass if A=2C C sees A=50 and B (who both passed), C knows that he isn't A=50 C knows that he isn't A/2=25 C knows that he isn't B C knows A!=2*C because B passed Thus, B and A know C would not pass if B=A If (A=2B) then either (A=B+C=>C=B X) or (A+B=C). But he passes, so X. So, B and A know C would not pass if (A=2B) If (A=3B) then either (A=B+C=>C=2B X) or (A+B=C) or (A+C=B). If (A+C=B) then (3B+C=B) => (C=-2B) X. So, he'd know (A+B=C) X because he didn't know the answer. So, B and A know C would not pass if (A=3B) A knows C!=A 2C!=A 3B!=A 2B!=A and B!=A because B and C passed If C=4B, then either C=A+B => A=3B X or A=B+C => A=5B. Thus, if B is 10 and C is 40, A would know he was 50 on the second round after everyone passed. Someone want to rewrite this in a less ass-backwards manner?
__________________
Last edited by JHVH : 10-29-4004 BC at 09:00 PM. Reason: Time for a rest. Last edited by Yakk; 04-22-2004 at 02:01 PM.. |
![]() |
![]() |
#4 (permalink) |
On the lam
Location: northern va
|
![]()
__________________
oh baby oh baby, i like gravy. |
![]() |
![]() |
#5 (permalink) |
Wehret Den Anfängen!
Location: Ontario, Canada
|
rsl, that's what A knows C knows. C knows something different. Sorry about that, I should have prefixed every line with that caviet. =)
A and B know C knows C isn't A/2. A and B know C knows C isn't A.
__________________
Last edited by JHVH : 10-29-4004 BC at 09:00 PM. Reason: Time for a rest. |
![]() |
![]() |
#6 (permalink) |
On the lam
Location: northern va
|
oh, ok. it's still not right
![]() EDIT: actually, i will give a hint. do a backwards proof. start by assuming that A=50, B=10, C=40. You will see it doesn't work.
__________________
oh baby oh baby, i like gravy. Last edited by rsl12; 04-22-2004 at 02:44 PM.. |
![]() |
![]() |
#7 (permalink) |
Crazy
Location: San Diego, CA
|
Ok, please settle an argument that I'm having with my friend. She says that B and C are both 25, but I claim that that would make A get the answer right away, so why would he pass? However, she's claiming that 0 is included in the set of postive integers, which just isn't true. Then she claimed that the problem may have meant non-negative integers, but if it meant that, I think it would say that.
So to make a long story short, can one of the hats be 0 according to the rules?
__________________
"Don't believe everything you read on the internet. Except this. Well, including this, I suppose." -- Douglas Adams |
![]() |
![]() |
#9 (permalink) |
Wehret Den Anfängen!
Location: Ontario, Canada
|
Assumption 1: Any conclusion you can reach while knowing none of the numbers is valid dispite any knowledge of some of the numbers.
So, lets add a person who doesn't get to see any of the numbers. Anything this person can deduce is ALSO true for anyone else. Let X be someone who knows none of the numbers. Note that A B and C know what X knows. Lets work out what X knows: A passes. X knows that if B==C, then A would not pass. Thus, X knows B!=C. B passes. X knows that if A==C, then B would not pass. Thus, X knows A!=C. X knows that if A==2C, then either (A=B+C => B==C) or (B=A+C). But, X knows that B!=C, so, if A==2C, then B=A+C. B would know A and C and hence know B, but B passed. So, X knows A!=2C. C passes Simularly to above, X now knows A!=2B. In addition, if (A==3B) then either (A==B+C=>C==2B) or (C=A+B). But, X knows C!=2B, so if A==3B then C=A+B. Thus, if A==3B, C would know C=4B. C passed. So, X knows A!=3B. A now goes. X whispers in A's ear what he knows. Suppose B was 10 and C was 40. Then, A entertains two possibilities. Either A=B+C or C=A+B. If C=A+B, then 40=A+10 => A=30. Then, A = 3B. But, X knows that A!=3B. So, if B is 10 and C is 40, then A knows A=50. The only possiblity that would make the above not work is if B or C could figure out the answer before A went. B goes. B sees 40 and 50. B knows he is either 10 or 90. If B was 90, then A would have seen 40 and 90. This doesn't help, A would have passed. If B was 10, then A would have seen 40 and 10. This doesn't help, A would have passed. C goes. C sees 50 and 10. C knows he is either 40 or 60. If C was 60, then B would have seen 60 and 50. Then B would have thought he was either 10 or 110. If C was 60 and B thought he was 10, then C would have thought that B would have thought that A would have seen 10 and 60. A would have passed, no problem. If C was 60 and B thought he was 110, then B would have thought A would have seen 60 and 110. A would have passed, which is consistent. If C was 40, then B would have seen 50 and 40. Then B would have thought he was either 10 or 90. If C thought that B thought he was either 10 or 90, then B passing is consistent. So, C cannot deduce what his number is, and passes. Thus, both C and B would have passed, and X can tell A enough that A can deduce his number. Hence, A knows his number.
__________________
Last edited by JHVH : 10-29-4004 BC at 09:00 PM. Reason: Time for a rest. |
![]() |
![]() |
#11 (permalink) |
Crazy
Location: San Diego, CA
|
A=50, B=20, and C=30
I'll go through this story acting like A: A goes first and concludes that he must be either 10 or 50 A assumes that he is 10. B sees A=10 and C=30, and passes because he thinks he must be either 20 or 40. C goes and sees A=10 and B=20. He concludes that he must be either 10 or 30. However, if he was 10, then A=10, B=20, and C=10, thus B would have have known that he was 20. Since B passed, C would know that he was 30. However, C did NOT know that he was 30, thus A couldn't have been 10. A goes again, knows he cannot be 10, and thus knows that he is 50. QED
__________________
"Don't believe everything you read on the internet. Except this. Well, including this, I suppose." -- Douglas Adams |
![]() |
![]() |
#12 (permalink) |
Crazy
Location: San Diego, CA
|
Yakk - I saw one problem with your proof. You assume that X knew that C < A... he couldn't have known this! If X knew this, then A would know this. If A knows this, then it makes his job really, really easy and you don't need such an elaborate proof.
__________________
"Don't believe everything you read on the internet. Except this. Well, including this, I suppose." -- Douglas Adams |
![]() |
![]() |
#14 (permalink) | |
Wehret Den Anfängen!
Location: Ontario, Canada
|
Quote:
Rangsk got the answer looks like, grats!
__________________
Last edited by JHVH : 10-29-4004 BC at 09:00 PM. Reason: Time for a rest. |
|
![]() |
Tags |
great, hatsanother, math, problem |
|
|