Существует алгоритм, позволяющий возводить число в степень
не за
операций, а за
. Он называется бинарным алгоритмом возведения в степень.
Алгоритм вычисления значения функции , где
— натуральные числа, задан следующими соотношениями:
, если
нечетное
, если
четное
Чему равно значение выражения ?
def f(a, x):
if x == 1:
return a
if x % 2 != 0:
return a * f(a, x - 1)
b = f(a, x // 2)
return b * b
ans = 0
for i in range(2, 10000 + 1):
ans += f(i, i)
print(ans % 10000)
Ответ: 4499