Делим своё богатство на три кучки по 9 монет в каждой. Две любые из этих кучек сравниваем. Которая легче, та и содержит фальшивую. Если две кучки равны по весу, то фальшивая в третьей. Это первое взвешивание, по результатам которого нашли кучку из 9 монет, в которой фальшивая.
Далее кучку из 9 монет делим на три кучки по три монеты, и две любые из этих двух кучек взвешиваем. Принцип тот же, находим кучку из трёх монет, в которой фальшивая. Это второе взвешивание.
Осталось 3 монеты. Две любые из них взвешиваем, и конкретно узнаём фальшивую. Это третье взвешивание. Трёх достаточно.
Далее кучку из 9 монет делим на три кучки по три монеты, и две любые из этих двух кучек взвешиваем. Принцип тот же, находим кучку из трёх монет, в которой фальшивая. Это второе взвешивание.
Осталось 3 монеты. Две любые из них взвешиваем, и конкретно узнаём фальшивую. Это третье взвешивание. Трёх достаточно.
int main()
{
using namespace std;
system("chcp 1251 > nul"); //для кириллицы
int age;
cout << "Введите возраст: ";
cin >> age;
if (age > 4 && age < 21)
cout << age << " ЛЕТ" << endl;
else if (age % 10 == 1)
cout << age << " ГОД" << endl;
else if (age % 10 > 1 && age % 10 < 5)
cout << age << " ГОДА" << endl;
else
cout << age << " ЛЕТ" << endl;
return 0;
}