灰太狼648 2023-10-14 17:59 采纳率: 0%
浏览 11

关于#算法#的问题:输出二者的乘法逆元,注意不限定a和b的大小顺序(语言-python)


def gcd(m,b):
    if b == 0:
        return m
    else:
        return gcd(b, m%b)
def extendGcd(m,b):
    if b == 0:
        return 1, 0
    else:
        x, y = extendGcd(b, m%b)
        x, y = y, (x-(m//b)*y)
        return x, y
def main():
    a = int(input()) 
    b = int(input())
    c = gcd(a,b)
    if c!= 1:
        print("None")
    else: 
            t,r = extendGcd(a,b)
            print(r)
    
if __name__=='__main__':
    main()

题目要求:已知整数a、b`,设计扩展欧几里得算法,如果a和b不互素,输出None;如果a和b互素,输出二者的乘法逆元,注意不限定a和b的大小顺序。
但是测试集结果要求乘法逆元是正数,在a=550,b=1759的时候,求得逆元是-111为负数。请问怎么才能确保逆元是正数?

  • 写回答

3条回答 默认 最新

  • wang_nn 2023-10-14 18:16
    关注

    啥是乘法逆元啊?

    评论

报告相同问题?

问题事件

  • 创建了问题 10月14日

悬赏问题

  • ¥15 大智慧怎么编写一个选股程序
  • ¥100 python 调用 cgps 命令获取 实时位置信息
  • ¥15 两台交换机分别是trunk接口和access接口为何无法通信,通信过程是如何?
  • ¥15 C语言使用vscode编码错误
  • ¥15 用KSV5转成本时,如何不生成那笔中间凭证
  • ¥20 ensp怎么配置让PC1和PC2通讯上
  • ¥50 有没有适合匹配类似图中的运动规律的图像处理算法
  • ¥15 dnat基础问题,本机发出,别人返回的包,不能命中
  • ¥15 请各位帮我看看是哪里出了问题
  • ¥15 vs2019的js智能提示