使用python实现简单的欧几里得算法

使用python实现简单的欧几里得算法,第1张

欧几里得算法的原理:

① X←a;Y←b;

② 如果Y=0,则输出X=gcd(a, b);

③ R←X (mod Y);

④ X←Y;

⑤ Y←R;

⑥ 转到②。

例如:a = 3371 ,b = 1435 ,gcd(a,b)

过程如下:

3371 = 1435 + 501
1435 = 501 + 433
501 = 433 + 68
433 = 68 + 25
68 = 25 + 18
25 = 18 + 7
18 = 7 + 4
7 = 4 + 3
4 = 3 + 1
3 = 1 + 0

根据欧几里得算法原理,编写代码如下:

#欧几里得算法
'''
原理:
①  X←a;Y←b;
②  如果Y=0,则输出X=gcd(a, b);
③  R←X (mod Y);
④  X←Y;
⑤  Y←R;
⑥  转到②。
'''
#核心算法
def assignment(a,b):
    x = a ; y = b
    while y:
        temp = x
        r = x % y
        x = y
        y = r
        print("%d = %d + %d"%(temp,x,y))  #给出每次计算的步骤,不要可以删除
    return x

a = 3371    # 指定数字,如果要更改可以自行 input
b = 1435
print("过程:")
x = assignment(int(a),int(b))
print()
print("gcd(%d,%d) = %d "%(a,b,x))

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/916005.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-16
下一篇2022-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存