Автор | Сообщение |
|
Отправлено: 16.02.22 23:03. Заголовок: Задача 22, номер 4761
Ниже на трёх языках программирования записана программа. Получив на вход число X, эта программа печатает числа A и B. При каком наибольшем натуральном значении переменной x программа выведет сначала 168, а потом 25? x = int(input()) a = 7 b = 15 w = 6 while x > 0: d = x % w a *= d if d < 3: b += d x //= w w = 11 - w print(a, b) Решение 168/7=24=а 25-5=10=b 24=4*3*2, т.о. получаем 432111111111 656565656565 432111111111 432 в 656 с.с=(4*5+3)*6+2=140 (140=х*6+140%6=23*6+2 23=х*5+23%5=4*5+3 4=х*6+4%6=0*6+4) s = "432111111111" x = 4 w = 5 for i in range(1, len(s)): d = int(s[ i]) x = x * w + d w = 11 - w print(x) на выходе 567977586, что я делаю неправильно?
|
|
|
Ответов - 1
[только новые]
|
|
|
| Администратор
|
Сообщение: 3323
|
|
Отправлено: 16.02.22 23:41. Заголовок: Anna1915 пишет: s = ..
Anna1915 пишет: Единиц должно быть 8.
|
|
|