Python 3.5:
def pow(a, k, m): # находит a^k по модулю m
if k == 0:
return 1
t = pow(a, k//2, m) ** 2 % m
if k % 2 == 0:
return t
return a * t % m
Ответ даст запуск pow(15082015, 26082015, 17082016)
Да, правильно, т.к. в 1 мб 8388608 бит. Делим на 4 и все.