Первый вопрос: "Эта монета настоящая?" Второй вопрос: "Твой сосед - хитрец?" И только после второго ответа начинаем мыслить. - Если на второй вопрос ответ "да", то ответчик не лжец (потому, что тогда ответ правдив). Значит, или он хитрец, который соврал отвечая на второй вопрос, или он правдивец. В обоих случаях, ответ на первый вопрос - правда. - Если на второй вопрос ответ "нет", то ответчик не правдивец (так как это была бы ложь). Значит, он или лжец или хитрец, ответивший правду. Значит, ответ на первый вопрос - ложь.- То есть, если ответ на второй вопрос "да", то монета настоящая, а если ответ "нет", то фальшивая.
И только после второго ответа начинаем мыслить.
- Если на второй вопрос ответ "да", то ответчик не лжец (потому, что тогда ответ правдив). Значит, или он хитрец, который соврал отвечая на второй вопрос, или он правдивец. В обоих случаях, ответ на первый вопрос - правда. - Если на второй вопрос ответ "нет", то ответчик не правдивец (так как это была бы ложь). Значит, он или лжец или хитрец, ответивший правду. Значит, ответ на первый вопрос - ложь.- То есть, если ответ на второй вопрос "да", то монета настоящая, а если ответ "нет", то фальшивая.
var
n : integer;
begin
if n >= 100 then
write('Да, трехзначное');
else
write('Нет, не трехзначное');
readln; readln; // для паузы
end.
p.s. За синтаксические ошибки не отвечаю
C++:
#include <iostream>
int main() {
//Если нужен русский язык на выводе написать здесь: setlocale(LC_ALL, "rus");
int n;
cin >> n;
if (n>=100) {
cout << "Yes";
} else {
cout << "No";
}
system("pause"); // Для паузы
return 0;
}