mod 543中154的inverse是67,我的代码告诉我它是58。 这是我的Python代码:
def inverse(modulo, number):
ri1 = number
ri2 = modulo
ti1 = 1
ti2 = 0
qi = 0
ti = 0
qi = 0
ri = 0
while ri1 != 0:
ri = ri2 % ri1
qi = (ri2 - ri) / ri1
ti = ti2 - (qi * ti-1)
ri2 = ri1
ri1 = ri
ti2 = ti1
ti1 = ti
return ti1
print(inverse(543, 154))
您好,我认为您的代码中有一个输入错误,可能您没有尽可能最好地实现算法
在我下面的回答中,我将遵循this page上的伪代码
看起来是这样的:
我已经在下面更新了您的代码,但是您的方法中的关键“缺陷”是您返回的是t而不是s
我们可以简化此代码,只获取值
si2
,如下所示:这就是诀窍
以下代码起作用:
相关问题 更多 >
编程相关推荐