一丶 最大公因数求法:
辗转相除法(也称欧几里得算法)原理:
二丶最小公倍数求法:两个整数的最小公倍数等于两整数之积除以最大公约数
C++ 代码实现
#include <iostream> using namespace std; //辗转相除法(欧几里得算法) int gcd(int a, int b) { int da = max(a,b); int xiao = min(a,b); if(da % xiao == 0) return xiao; else return gcd(xiao, da % xiao); } // 两个整数的最小公倍数等于两整数之积除以最大公约数 int lcm(int a, int b) { return a*b / gcd(a, b); } int main() { int x, y; cout << "输入两个数字(按Ctrl+Z结束输入): "; while(cin >> x >> y) cout << "这两个数的最大公因数是:" << gcd(x, y) << endl << "这两个数的最小公倍数是:" << lcm(x, y) << endl; }