⚡️Решение задачи №14 прототипа "х = число"
Конечно же, само решение всё равно неразрывно связано с шаблоном разложения числа на цифры. Поэтому полный код выглядит так:
import math
base_value = 24**655 - 8**656
limit = 10**4350
k = 0
power27 = 1
while power27 * 27 <= limit:
power27 *= 27
k += 1
number = base_value + power27
# длина числа через логарифм
length = math.floor(math.log10(number)) + 1
print(length)
В чём его суть? Фиксируем выражение без параметра а также максимально значения икса.
Затем самая интересная часть: ищем максимальную степень 27, не превышающую наш предел. Почему?
Нам нужно: чтобы в 27-ричной записи было наибольшее количество нулей.
Когда в записи появляются нули в конце?
Число в системе счисления по основанию 27 оканчивается на:
1 ноль → если делится на 27
2 нуля → если делится на 27^2
3 нуля → если делится на 27^3
...
k нулей → если делится на 27^𝑘
То есть: количество конечных нулей = максимальная степень 27, на которую делится число.
На этом в целом всё) Ищем итоговое значение через логарифм, поскольку в поиске длине строки, где больше 4300 символов в питоне действуют ограничения.
Ответ: 4350
Ну как вам? 💞