欧几里得算法(求最大公约数)

Posted geziyu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了欧几里得算法(求最大公约数)相关的知识,希望对你有一定的参考价值。

 1 //求两个数的最大公约数
 2 #include<iostream>
 3 using namespace std;
 4 int f(int m,int n)
 5 {
 6     if(n==0)
 7         return m;
 8     else
 9         return f(n,m%n);
10 }
11 int main(){
12     int a,b;
13     int temp;
14     cin>>a>>b;
15     if(a<b)
16     {
17         temp=a;
18         a=b;
19         b=temp;
20     }
21     cout<<f(a,b)<<endl;
22     return 0;
23 } 

欧几里德算法又称为辗转相除法,用于计算两个非负整数的最大公因数。结果的正确性源于a与b的最大公约数c也是a%b的公共约数

以上是关于欧几里得算法(求最大公约数)的主要内容,如果未能解决你的问题,请参考以下文章

欧几里得算法求最大公约数(gcd)

求最大公约数——欧几里得算法

最大公约数伪代码

[算法]求满足要求的进制(辗转相除(欧几里得算法),求最大公约数gcd)

利用扩展的欧几里得算法求逆元

欧几里得算法(求最大公约数)