1. 问题
【例题】循环输入,每组数据给定两个非负整数 a,b,求两者最大公约数
2. 思路
3. 实现
#include <iostream>
/**********************************************************
【例题】循环输入,每组数据给定两个非负整数 a,b,求两者最大公约数
**********************************************************/
int gcd(int a, int b)
{
if (b == 0)
{
return a;
}
else
{
return gcd(b, a % b);
}
}
int main()
{
int a, b;
while (std::cin >> a >> b)
{
int ret = gcd(a, b);
std::cout << ret << std::endl;
}
return 0;
}
4. 最小公倍数
最小公倍数等于两个数的乘积除以最大公约数。
int main()
{
int a, b;
while (std::cin >> a >> b)
{
int ret = gcd(a, b);
std::cout << a / ret * b << std::endl;
}
return 0;
}
参考:
https://blog.csdn.net/WhereIsHeroFrom/article/details/118272816