本文主要是介绍C++辗转相除法求解两个数字的最大公约数函数实现:,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
C++辗转相除法求解两个数字的最大公约数函数实现
算法思想:用大数对小数求余,若余数为0,则除数为最大公约数。若余数不为0,将此余数作为除数,小数作为被除数,重新求余,直到余数为0为止。此时的最大公约数为余数。
代码如下:
/*辗转相除法求解两个数字的最大公约数函数实现greatest common divisor tiancheng2021.01.12
*/#include<iostream>
using namespace std;int gcd(int m,int n);//因为还没有定义就使用了gcd函数,所以要在main()函数前加入gcd函数申明
int main()
{int m=2,n=17;cout<<"这两个数字分是:"<<m<<"、 "<<n<<endl;cout<<"最大公约数是:"<<gcd(m,n)<<endl;return 0;
}int gcd(int m,int n)//辗转相除法
{int r;while(n!=0){r = m % n;m = n; n = r;}return m;
}
至此,完美实现,over~
这篇关于C++辗转相除法求解两个数字的最大公约数函数实现:的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!