说明及算法如下:
/***
本例使用欧几里得算法求两个整数的最大公约数
输入:两个整数
输出:这两个整数的最大公约数
***/
#include <iostream>
using namespace std;
int Gcd(unsigned int M, unsigned int N);
int main()
{
int m, n;
int gcd;
cout << "Enter two integers: ";
cin >> m;
cin >> n;
gcd = Gcd(m, n);
cout << m << "和" << n << "的最大公约数是" << gcd << endl;
return 0;
}
int Gcd(unsigned int M, unsigned int N)
{
unsigned int temp;
while(N > 0)
{
temp = M % N;
M = N;
N = temp;
}
return M;
}
运行结果: