这个用于查找乘法模逆的Python代码没有给出正确的结果

时间:2017-03-19 07:36:17

标签: python-3.x

这是代码

    def f(a,b,n1=0,n2=0):
        print('a:',a,'b:',b)
        if b==1:
            return 0,1
        elif b==0:
            print("Can't find multiplicative modulo inverse as gcd != 1")
            return 0,0
        n1,n2=f(b,a%b)
        temp=n2
        n2=n1+(a//b)*n2
        n1=temp
        return n1,n2

    n1,n2=f(8,27)
    if(n1!=0):
        print(n1)

我已经将8,27作为测试输入,对于8%27,答案应为17,但我的代码为10。

PS:代码的第二行' print(' a:',a,' b:',b)与算法无关,我把它作为参考来检查代码的流程。

0 个答案:

没有答案