设有a,b两数,求他们的最大公因数和最小公倍数
公式:最大公因数 = a * b / 最小公倍数 = 两数之积除以最小公倍数。
#include "iostream"
//void fun(int x, int y, int a[]);
void fun(int x, int y);
using namespace std;
void main() {
while (1) {
int a, b;
cin >> a >> b;
fun(a, b);
}
//int a[2];
//fun(a, b, a[2]);
}
void fun(int x, int y ) {
int m = x;//用m记录x
int n = y;//用n记录y
int z = 1;//用z来定义余数
//这个算法求的是最大公因数
//如果余数为0,说明x < y; 那么y就是最大公因数
//如果余数不为0,说明x > y; 那么把y 赋给 x;把余数赋给y,再做取余运算。
while (z != 0) {
z = x % y;
x = y;
y = z;
}
cout << "最大公因数:" << x << endl;//这里的 x 是原来的 y;
cout << "最小公倍数:" << m * n / x << endl;//利用公式算出最小公倍数
}