@YuriyCherniy

Как вычислить 9**(9**9) не потратив на это огромное количество времени?

Каким образом средствами Python работать с такими большими цифрами при возведении в степень? Конечная задача стоит учебная, необходимо вернуть последнюю цифру вычисленного числа.
  • Вопрос задан
  • 1335 просмотров
Решения вопроса 2
sergiks
@sergiks Куратор тега Алгоритмы
♬♬
Алгоритм:
  1. ручкой пишем на бумаге первые несколько степеней 9
  2. в голове появляется догадка
Ответ написан
longclaps
@longclaps
Каким образом средствами Python работать с такими большими цифрами при возведении в степень?

Работать завсегда лучше с применением мозга (составление вопроса - тоже работа, тебя это особенно касается).
from math import log10, modf
f, p = modf(log10(9) * 9 ** 9)
print(f'9 ** (9 ** 9) == {10 ** f}e{int(p)}')
print(f'последняя цифра этого числа - {pow(9, pow(9, 9), 10)}')
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Даже 2 цифры:
(9+20(N-1))%100 - нечётные
abs(101-20N)%100 - чётные
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы