求两个数的最大公约数。递归思想
#include<iostream>
using namespace std;
int gcd(int a, int b);
int lcm(int a, int b);
int main(){
int n1, n2;
while (cin >> n1 >> n2 ){
cout << lcm(n1, n2) << endl;
}
}
int gcd(int a, int b){
//递归求解最大公约数
// 例 12%18=12 , 18%12=6.
if (a%b == 0)
return b;
else
return gcd(b, a%b);
}
int lcm(int a, int b){
//最小公倍数等于两数之积除以最大公约数
return (a*b) / gcd(a, b);
}