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

本文介绍了一种计算a的b次方再对1337取模的方法,其中a为正整数,b为一个极大正整数数组形式。通过逐位计算并考虑进位为十次幂的影响,最终返回计算结果。
745

被折叠的 条评论
为什么被折叠?



