Запишем последовательность действий программы 12111:
1. Раздели на b: 50 / b
2. Прибавь 1: (50 / b) + 1
3. Раздели на b: ((50 / b) + 1) / b
4. Прибавь 1: (((50 / b) + 1) / b) + 1
5. Прибавь 1: ((((50 / b) + 1) / b) + 1) + 1 = 20
Упростим уравнение:
((50/b + 1)/b) + 2 = 20
((50/b + 1)/b) = 18
(50/b + 1) = 18b
50/b = 18b - 1
50 = 18b^2 - b
18b^2 - b - 50 = 0
Решим квадратное уравнение: $$18b^2 - b - 50 = 0$$
D = $$b^2 - 4ac = (-1)^2 - 4 * 18 * (-50) = 1 + 3600 = 3601$$
b1 = $$(1 + \sqrt{3601}) / (2 * 18) = (1 + 60) / 36 = 61/36 ≈ 1.69$$
b2 = $$(1 - \sqrt{3601}) / (2 * 18) = (1 - 60) / 36 = -59/36 ≈ -1.64$$
Так как b должно быть целым числом и больше или равно 2, проверим ближайшие целые числа 2 и 3.
Если b = 2:
((50 / 2 + 1) / 2) + 2 = (25 + 1) / 2 + 2 = 26 / 2 + 2 = 13 + 2 = 15 (не подходит)
Если b = 3:
((50 / 3 + 1) / 3) + 2 = (16.66 + 1) / 3 + 2 = 17.66 / 3 + 2 = 5.88 + 2 = 7.88 (не подходит)
Однако условие деления предполагает, что после деления получается целое число. Посмотрим, что произойдет, если b = 5:
((50 / 5 + 1) / 5) + 2 = (10 + 1) / 5 + 2 = 11 / 5 + 2 = 2.2 + 2 = 4.2 (не подходит)
Пересмотрим условие и перефразируем:
$$((50/b+1)/b)+1+1=20 $$
$$((50/b+1)/b)=18$$
$$(50/b+1)=18b$$
$$50/b=18b-1$$
$$50=18b^2-b$$
Поскольку результатом должно быть целое число (20), то деление должно происходить нацело, и все действия приводят к числу 20. Попробуем b = 5.
50/b = 10
10 + 1 = 11
11/b=11/5 - не подходит, нужно целое число.
Попробуем b = 2
50 / 2 = 25
25 + 1 = 26
26/2=13
13 + 1 + 1 = 15 не равно 20.
Попробуем решить подбором:
Предположим, что первое деление дало не целое число, значит после деления не целое число + 1 и еще раз деление дает опять не целое, но потом + 1 + 1, но все равно в итоге 20.
Допустим, после первого деления получили число (20-2)*b*b -b = 18 bb - b = 50
Если b = 2, то $$18*4-2 = 70$$, а не 50.
Если b = 3, то $$18*9-3 = 159$$, а не 50.
Нужно внимательно пересмотреть условие. Деление может быть только целочисленным. Попробуем найти решение другим путем.
Пусть программа 12111 переводит 50 в 20.
Тогда попробуем обратный ход:
20 - 1 - 1 = 18.
18 * b =?
Делаем подбор, пока не станет очевидным при делении на b (50 / b + 1) не целое число. При этом первое деление 50 / b тоже должно быть целым числом.
Очевидной ошибкой является, что b не может быть таким целым числом.
Проверим, что означает, что при выполнении команд, деление нацело не всегда будет выполняться.
(((50 / b) + 1) / b) + 1 + 1 = 20
(((50 / b) + 1) / b) = 18
((50 / b) + 1) = 18b
(50 / b) = 18b - 1
50 = 18b^2 - b
18b^2 - b - 50 = 0
D = 1 - 4 * 18 * - 50 = 3601
b1 = (1+60)/36 = 61/36
b2 = (1-60)/36 = -59/36.
Так, как дискриминант не точный квадрат, то b не может быть целым.
ОТВЕТ: Невозможно определить целое число b, исходя из условия задания.