GCD算法详解(C语言)

您所在的位置:网站首页 计算机流程图mod是什么意思 GCD算法详解(C语言)

GCD算法详解(C语言)

2024-07-01 20:40| 来源: 网络整理| 查看: 265

                                              GCD算法详解

目录

    GCD算法详解

1.原理

证法一

证法二

2.普通方法

3.递归算法

4.最美妙算法

1.原理

    GCD算法是用于求解最大公约数的方法,利用了欧几里得算法,即辗转相除法。

    最重要的等式莫过于(核心中的核心):gcd(a,b) = gcd(b,a mod b) (不妨设a>b 且r=a mod b ,r不为0)

证法一

    a可以表示成a = kb + r(a,b,k,r皆为正整数,且r1),则m=kn+xd=kyd+xd=(ky+x)d,则a=mc=(ky+x)dc,    b=nc=ycd,故a与b最大公约数≥cd,而非c,与前面结论矛盾】

    从而可知gcd(b,r)=c,继而gcd(a,b)=gcd(b,r),得证

    注意:两种方法是有区别的。

2.普通方法 #最大公因数普通算法 int gcd(int m,int n) { int t,r; if (m


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3