а) Задача решается разбором с конца (рис. 1). Если в конце концов один из игроков $\textit{П}$ предложит другому игроку — назовём его $\textit{В}$ — любое из чисел от 112 до 999, то игрок $\textit{В}$ выигрывает (умножением на 9). Следовательно, если $\textit{В}$ предложит своему партнёру $\textit{П}$ любое из чисел от 56 до 111, то у $\textit{П}$ получится не менее 112 (даже если он умножит только на 2) и не более 999 (даже если он умножит на 9), и игроку $\textit{В}$ будет обеспечен выигрыш. Теперь ясно, что если $\textit{П}$ называет любое из чисел от 7 до 55, то $\textit{В}$ может попасть в выгодный ему промежуток $[56;111]$. Наконец, чтобы $\textit{П}$ обязательно попал в этот роковой для него промежуток $[7;55]$, игроку $\textit{В}$ достаточно назвать на первом шаге любое из чисел 4, 5, 6. Итак, начинающий при правильной игре выигрывает.
б) Этот случай может быть разобран примерно так же — «с конца». Однако мы приведём общее решение, позволяющее оценить ситуацию при игре не только до 1000 или до $1\,000\,000$, но и до любого числа. С этой целью «прологарифмируем» условие игры. Игра, можно считать, начинается с того, что первый игрок получает число 1 и умножает его на любое из чисел 2, 3, $\ldots$, 9. Перейдём к логарифмам: начинающий имеет число $\lg1=0$ и может прибавить к нему любое из чисел $a_1=\lg2$, $a_2=\lg3$, $\ldots$, $a_8=\lg9$. Затем партнёр прибавляет к результату любое из чисел $a_1$, $a_2$, $\ldots$, $a_8$, затем начинающий и т. д. Выигрывает тот, кто первым доберётся до числа $\lg1\,000\,000=6$. Теперь можно сформулировать более общее условие игры. Заданы положительные числа $a_1$, $a_2$, $\ldots$, $a_k$ (для удобства расположенные в порядке возрастания: $a_1\lt a_2\lt\ldots\lt a_k$); начинающий прибавляет к числу 0 любое из этих чисел, затем его партнёр прибавляет к результату любое из этих чисел, затем снова начинающий и т. д. Выигрывает тот, кто первым получит результат, не меньший заданного положительного числа $C$.
Решать задачу в такой её общей постановке мы будем при следующем дополнительном предположении: $a_{i+1}-a_i\lt a_1$ (при любом $i=1$, 2, $\ldots$, $k-1$), смысл которого выяснится при решении. Заметим, что в первоначальном варианте задачи это условие выполнено:
$$
a_{i+1}-a_i=\lg(i+2)-\lg(i+1)=\lg\dfrac{i+2}{i+1}\lt\lg2=a_1
$$
при любом $i=1$, 2, $\ldots$, 8.
Обозначим через $I_0$ полуинтервал $C\le x\lt C+a_1$, а через $I_1$, $I_2$, $\ldots$ — полуинтервалы,
получающиеся из $I_0$ сдвигами вниз на расстояния $a_1+a_k$, $2(a_1+a_k)$, $\ldots$ (см. рис. 2). Эти полуинтервалы назовём красными, а полуинтервалы, расположенные между ними ($[C-a_k;C)$,
$[C-2a_k-a_1;C-a_k-a_1)$, $\ldots$) — чёрными; числа, принадлежащие этим полуинтервалам, будем
также называть, соответственно, красными и чёрными. Заметим, что длина любого красного
полуинтервала равна $a_1$, а любого чёрного — $a_k$. Пусть игрок, получивший от своего напарника сумму $s$,
своим ходом увеличивает её на одно из чисел $a_1$, $\ldots$, $a_k$ и в результате получает сумму $s'$.
Тогда
- если $s$ принадлежит красному полуинтервалу, то при любом ходе $s'$ будет принадлежать следующему за ним чёрному полуинтервалу;
- если $s$ принадлежит чёрному полуинтервалу, то всегда можно сделать такой ход, что $s'$ попадёт в следующий за ним красный полуинтервал.
Действительно, пусть $s\in I_l=[b-a_1;b)$; тогда, поскольку $a_1\lt a_2\lt\ldots\lt a_k$,
$s'\in[b;b+a_k)$, но это и есть соседний с $I_l$ чёрный полуинтервал. Пусть теперь $s$ принадлежит чёрному
полуинтервалу $[d-a_k;d)$. Тогда очередным ходом можно получить сумму $s+a_k\in d$, которая либо попадёт в следующий красный полуинтервал $[d;d+a_1)$, либо даже «перескочит» через него. Перебирая все возможные
ходы, т. е. $s+a_1$, $\ldots$, $s+a_k$, мы всегда можем найти средние точки такой, что сумма $s$
принадлежит $[d;d+a_1)$ (ведь в последовательности $s$, $s+a_1$, $\ldots$, $s+a_k$ расстояния между
соседними точками не превосходят $a_1$ — здесь используется условие $a_{i+1}-a_i\lt a_1$ — и потому красный
полуинтервал длины $a_1$ обязательно захватит хотя бы одну из них; см. рис. 3).
С помощью утверждений 1) и 2) легко доказывается следующая
Теорема. Если число $0$ чёрное, то начинающий (при правильной игре) всегда выигрывает, если
же число $0$ красное, то начинающий (при правильной игре партнёра) непременно проигрывает.
Доказательство. Допустим, что 0 — чёрное число. Тогда в силу утверждения 2) начинающий своим
первым ходом может получить красное число. Его партнёр при любом своём ходе попадёт в чёрный полуинтервал
(утверждение 1)), после чего начинающий снова сделает сумму красной и т. д. Таким образом начинающий всё время может получать суммы, принадлежащие полуинтервалам $I_l$, с каждым своим ходом уменьшая номер $l$ на 1, и в конце концов попадёт в полуинтервал $I_0$, т. е. первым получит сумму, большую или равную $C$. А его партнёру придётся довольствоваться проигрышными чёрными полуинтервалами. В случае, если 0 — красное число,
роли игроков меняются: партнёр становится активным и всё время «прыгает» по красным полуинтервалам. Теорема
доказана.
Заметим, что если сделанное выше дополнительное предположение не выполняется, то «выигрышные» множества
уже не являются полуинтервалами, а могут иметь более сложную структуру.
Для нашей задачи б) «выигрышные» (т. е. красные) полуинтервалы имеют вид $$
I_l=[6-l\lg18;6-l\lg18+\lg2)=\left[\lg\dfrac{10^6}{18^l};\lg\dfrac{2\cdot10^6}{18^l}\right),
$$
где $l=0$, 1, 2, $\ldots$, поскольку $a_1=\lg2$, $a_k=a_8=\lg9$, $a_1+a_k=\lg18$, а $C=\lg10^6=6$. Так как $0\in I_5$, начинающий проигрывает. Снова переходя от логарифмов к самим числам, мы из $I_l$ получаем
полуинтервалы $\left[\dfrac{10^6}{18^l};\dfrac{2\cdot10^6}{18^l}\right)$, где $l=0$, 1, 2, $\ldots$.
Наконец, учитывая, что произведения всё время получаются целые, получаем следующие «выигрышные» отрезки
(расположенные в порядке возрастания):
$$
[10;19],\quad[172;342],\quad[3087;6172],\quad[55556;111111].
$$
Зная эти отрезки (и, ещё лучше, имея в руках микрокалькулятор), партнёр начинающего может легко
осуществлять правильную стратегию игры.