#采用递归算法求最两个数 的大公约数C++实现*
# 算法思路:
建立一个函数,实现三个功能,第一步通过比较大小将较大的数和较小的数对号入座,第二步,采用辗转相除法用大数除以小数取余,第三步判断取余结果是否为零,若是则被除数就是最小最大公约数,若不为零,则调用此函数进行递归;
具体代码如下:
#include <iostream>
using namespace std; int gcd(int M,int m); int main(){ int a, b; cin >> a >> b; gcd(a, b);
return 0;
} int gcd(int M,int m){ int temp; if (M <= m){ temp = m; m = M; M = temp; } M = M%m; if (M == 0){ cout << m << endl; } else{ gcd(M, m); } return 0; }