如何用c++求出两个数的最大公因数
#include <bits/stdc++.h>
using namespace std;
int gcd(int m,int n)
{
if (m % n == 0)
{
return n;
}
else
{
return gcd(n,m % n);
}
}
int main()
{
int m,n;
cin >> m >> n;
cout << gcd (m,n) << endl;
return 0;
}
其中,gcd函数就是求出最大公因数的函数
这里有一个非常奇妙的方法,就是
if (m % n == 0)
{
return n;
}
else
{
return gcd(n,m % n);
}
return gcd(n,m % n);就是如果他们除不尽,就把n当作m ;m % n 当作n来计算