Imagine you are at a party with 100 people, and those partygoers are one of either two types of people: either truth tellers who always tell the truth, or liars who always lie.
Now, imagine that before going home, some of them shake hands. Then you ask each person: “How many truth tellers did you shake hands with?” One person tells you 99, then next says 98, then 97, 96, 95 … and so on, all the way down to 0.
Remember: liars only lie, while truth tellers always tell the truth.
Can you determine how many liars there were at the party?
This may seem like an impossible problem, as we do not know how many of them shook hands with each other. However, using logic as a tool, there is a way to determine how many are liars. Take a moment to figure out the solution, and when you think you have it, or if you’ve hit a dead end, scroll down to see how to unravel this logic problem.
Let’s take a closer look at each person who attended the party and see what logic tells us: first, label each person according to how many truth tellers they claimed to shake hands with:
Person 99: shook hands with 99 truth tellers
Person 98: shook hands with 98 truth tellers
Person 97: shook hands with 97 truth tellers
…
Person 1: shook hands with 1 truth teller
Person 0: shook hands with 0 truth tellers
Next, let’s take a closer look at Person 99 and see what we can deduce using logic. If Person 99 is a truth teller, then Person 99 shook hands with all other people at the party, AND all others at the party must also be truth tellers.
Which includes Person 0, who claims to have shaken hands with 0 truth tellers.
Therefore, it must be the case that either Person 99 and Person 0 did not shake hands with each other—which means Person 99 is a liar—OR it means Person 0 shook hands only with liars, which also means Person 99 is a liar.
From this, we can deduce that it’s not possible for Person 99 to be a truth teller.
So, Person 99 is a liar.
Next, if Person 98 is a truth teller, that means he must have shaken hands with Persons 0 to 97 (because we now know Person 99 is not a truth teller), AND that Persons 0 to 97 must be truth tellers.
And once again, we can deduce that either Person 98 and Person 0 did not shake hands with each other—which makes Person 98 a liar—OR that Person 0 shook hands only with liars, which also makes Person 98 a liar.
So, Person 98 is also a liar.
Now, following this pattern, we can make a similar deduction for Persons 97, 96, 95 … all the way to Person 1, and logically deduce the same conclusion: that they are all liars.
What about person 0?
Since everyone else at the party is a liar, there are 0 truth tellers for Person 0 to shake hands with, regardless of how many people’s hands he shook. Therefore, we can deduce that person 0 is telling the truth.
So, the answer is there are 99 liars at the party.