作业帮笔试第一题,快速幂加求逆元

快速幂代码就不写了,直接调用库函数

#求逆元
def get_(a, b):
    if b == 0:
        return 1, 0
    else:
        k = a // b
        remainder = a % b
        x1, y1 = get_(b, remainder)
        x, y = y1, x1 - k * y1
        return x, y


def powersum(x,n):
    x = x % mod
    if x==1:
        return n%mod
    y, _ = get_(x - 1, mod) #(求(x-1)逆元)
    a = (((pow(x, n + 1, mod) - x)) * y) % mod #等比数列求和公式
    return a
mod = 998244353
x = 998244357
n =100000000000000000000000000

a = powersum(x,n)
print(a)


#作业帮##笔试题目##题解#
全部评论
我第一题死活过不了,原来不能直接对除法取余!厉害了👍学到了!
点赞 回复
分享
发布于 2019-08-15 06:01
快速幂有python库?
点赞 回复
分享
发布于 2019-08-15 08:40
阅文集团
校招火热招聘中
官网直投

相关推荐

1 5 评论
分享
牛客网
牛客企业服务