//附上链接https://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Index/problemdetail/pid/1131.html
#include<iostream>
#include<cstdio>
#include<string.h>
#include<algorithm>
#include<stdlib.h>
#include<cmath>
using namespace std;
int maxgy(int a, int b)
{
int m = a%b;
while (m)
{
a = b;
b = m;
m = a%b;
}
return b;
}
int maxgb(int a, int b)
{
return a*b / (maxgy(a, b));
}
int main()
{
int n,i,a,b;
scanf("%d%d", &a,&b);
cout << maxgy(a, b) << endl;
cout << maxgb(a, b) << endl;
return 0;
}
/****************************
原理:
用辗转相除法求最大公约数
算法描述:
m用n求余为a, 若a不等于0
则 m = n, n = a, 继续求余
否则(即若a为0) n 为最大公约数
最小公倍数 = 两个数的积 / 最大公约数
****************************/
C/C++训练1---最大公约数与最小公倍数
猜你喜欢
转载自blog.csdn.net/cjava__/article/details/80779593
今日推荐
周排行