其他分享
首页 > 其他分享> > 第33题:大幂次运算

第33题:大幂次运算

作者:互联网

题目描述:
给你两个正整数a(0 < a < 100000)和n(0 <= n <=100000000000),计算(a^n) % 20132013并输出结果
示例:
输入:
a = 3453 n = 0

输出:
1

思路一:快速幂。

# 快速幂迭代写法
ans = 1
if n == 0:
    print(1)
else:
    while n > 0:
        if n & 1:  # n为奇数时
            ans = ans * a % 20132013
        a = a * a % 20132013
        n >>= 1
    print(ans)

思路二:使用内置的函数pow()。

print(pow(a, n, 20132013))

标签:ab,幂次,奇数,33,pow,20132013,ans,print,运算
来源: https://blog.csdn.net/zxc0074869/article/details/122522341