Решение: Максимальное число по алгоритму
Получив на вход число $x$, алгоритм печатает два числа: $S$ и $P$. Укажите наибольшее число $x$, при вводе которого алгоритм печатает сначала $9$, а потом $3$.
1x = int(input()) 2P = 1 3S = 0 4N = 0 5while x > 0: 6 N = N + 1 7 S = S + (x % 4) 8 P = P * (x % 4) 9 x = x // 4 10S = S + N 11P = P + N 12print(S) 13print(P)
Решение по шагам
4 шагаПри последовательном делении $x$ на $4$ алгоритм получает цифры числа $x$ в четверичной системе. Пусть $N$ — количество цифр, $A$ — их сумма, а $B$ — произведение.
$$S=A+N,\quad P=B+N$$По условию $S=9$ и $P=3$, поэтому $A+N=9$ и $B+N=3$. Так как $B\geq0$, имеем $N\leq3$.
При $N=1$ или $N=2$ условия на сумму и произведение цифр не выполняются. При $N=3$ получаем $B=0$ и $A=6$.
Три четверичные цифры от $0$ до $3$ с суммой $6$ и нулевым произведением. Чтобы получить наибольшее число, выбираем цифры $3$, $3$, $0$.
$$x=(330)_4=3\cdot4^2+3\cdot4+0=60$$Где здесь ошибаются
Не учитывать добавление $N$ к значениям $S$ и $P$.
Перепутать запись числа в четверичной системе с десятичной.
Выбрать цифры с нужной суммой, но ненулевым произведением.