输入两个正整数m和n,求其最大公约数和最小公倍数。
样例输入
2 3
样例输出
1
6
这题一知半解的,
最小公倍数=两数の积/最大公约数;
最大公约数通过迭代法求得(见其下),
作为a,b两数有一个属为有一个为0为无效数据时
《-----a%b等于0(例如4%2等于0,b为最大公约数)------》
算法是欧几里得算法(辗转相除法),会用就行
#include<iostream>
using namespace std;int main() {int a, b, res;while (cin >> a >> b) { //(3)录入数据无效stopのwhile循环---》有0结束int multi = a * b;while (res = (a % b)) { //(2)res是两数的余数 b为0结束--》除数为0无意义a = b;b = res; //(1)若res等于0即6%2返回2为最大公约数}cout << b << endl; //最大公约数cout << multi / b << endl; //最小公倍数}return 0;
}