Берём из первой шляпы одну монету, из второй две, ..., из десятой — 10 монет и кладём их на весы.
Если бы все монеты были настоящими, то они бы весили (1 + 2 + ... + 10) * 10 = 550 г. Поскольку каждая фальшивая монета на 1 г легче настоящей, то весы покажут не 550 г, а на столько грамм меньше, сколько взято фальшивых монет. Поскольку количество взятых из шляпы монет совпадает с номером шляпы, это позволит определить, где лежат фальшивые монеты.