
Christopher A. answered 02/17/22
Expert in Logic from Math, Philosophy and Computer Science background.
First, person 30 claims that all 30 are knaves. If this is true, then person 30 is a knave, which means that the statement of person 30 is a lie. This is a contradiction. Hence, there is at least 1 knight.
Since each person's statement contradicts all of the other people, at most 1 person can be a knight. Which person claimed that there is 1 knight? The person who says exactly 29 our of 30 are knaves, claimed that there was 1 knight. Therefore, person 29 is a knight and the rest are knaves.