Question: There are 100 people in a room. A person always speaks either lie or truth. When asked:

1st person says => all are liars
2nd person says => at most 1 speaks truth
3rd person says => at most 2 speak truth
4th person says => at most 3 speak truth
.
.
.
.
100th person says => at most 99 speak truth

How many people speak only truth?

Answer: Lets assume that person 1 speaks truth then all including him should be liar. It means he doesn’t speak truth.

Before moving forward, we should make it clear what does “at most” mean? “at most N” means N or less.

Lets assume that 2nd person speaks truth then he is the only person who speaks truth coz at most 1 means 1 or less. But if this statement is true then statements by all others are also true. Coz if “at most 1 person speaks truth” is true then “at most N speak truth” is also true, where N >= 1. This contradicts his own statement, so person 2 is also a liar.

Now lets say that 3rd person is speaking truth. But then the statements of person 4-100 are also true, which contradicts his own statement. It means that person 3 is also a liar.

This process will continue since 50th person. So 1-50 people are liars.

51st person says “at most 50 speak truth”. Lets say he is speaking truth. “at most 50” means any number from 0-50. It means that statements like “at most 51 speak truth” and “at most 70 speak truth” are also true. It means that people from 51 to 100 are speaking truth.

Hence, 50 people speak truth.