Your task is to calculate ab mod 1337 where a is a positive integer and b is an extremely large positive integer given in the form of an array.
Example1:
a = 2 b = [3] Result: 8
Example2:
a = 2 b = [1,0] Result: 1024
Credits:
Special thanks to @Stomach_ache for adding this problem and creating all test cases.
Subscribe to see which companies asked this question
对幂,每一位进行计算
需要注意的一个地方就是,每一位升到上一位的时候,是十次幂
class Solution(object):
def superPow(self, a, b):
a = a % 1337
res = a ** b[0] % 1337
for i in b[1:]:
res = res ** 10 * (a ** i) % 1337
res %= 1337
return res