Глава 5. Головоломки для умников и умниц

Головоломки с цифрами

Угадывание чисел


...
Решение

Выяснить, какие числа загадал соперник, вы можете всего за два вопроса. За первый вопрос следует узнать значение выражения s1 + s2 + s3 + ... + s10. Предположим, что оно равно m. Возьмем достаточно большое число n, такое, что 10n > m. Задав второй вопрос, нужно узнать значение выражения s1 + 10ns2 + 102ns3 + ... + 109ns10.

Подсказка: первым вопросом следует узнать, что все числа s1, s2, s3, s10 меньше некоторой константы.


Если значение этого выражения равно г, то в десятичной записи числа г справа налево будут идти группы из n-цифр, дающие десятичные записи чисел s1, s2, s3, s10, возможно с несколькими нулями впереди (поскольку s1, s2, s3, s10 < 10n, при сложении чисел s1, 10ns2, 102ns3, 109ns10 в столбик переносов не возникает).