@YuriyCherniy

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

Каким образом средствами Python работать с такими большими цифрами при возведении в степень? Конечная задача стоит учебная, необходимо вернуть последнюю цифру вычисленного числа.
  • Вопрос задан
  • 1155 просмотров
Решения вопроса 2
Алгоритм:
  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 - чётные
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
от 150 000 до 200 000 ₽
OnederX Москва
от 100 000 до 120 000 ₽
Кенарий Санкт-Петербург
от 120 000 до 250 000 ₽
30 сент. 2020, в 17:25
5000 руб./за проект
30 сент. 2020, в 17:22
15000 руб./за проект
30 сент. 2020, в 16:39
5000 руб./за проект