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
posted on 2021-06-06 18:32  雾恋过往  阅读(111)  评论(0编辑  收藏  举报

Live2D