k的 n 次方的最后三位数
比如:求5的14次方的最后三位数
@
思路:
研究乘法的规律发现:乘积的最后三位的值只与乘数和被乘数的后三位有关,与乘数和被乘数的高位无关。利用这一规律,可以大大简化程序。
def theLastThreeNumber(base,N):
ans = 1
for i in range(N):
ans = (ans * base) % 1000
return ans
示例
def theLastThreeNumber(base,N):
ans = 1
for i in range(N):
ans = (ans * base) % 1000
return ans
ans = theLastThreeNumber(5,14)
print(ans)
ans1 = theLastThreeNumber(13,13)
print(ans1)
625
253
扩展到最后 p 位数
def theLastPNumber(base,N,p):
temp = 10**p
ans = 1
for i in range(N):
ans = (ans * base) % temp
return ans