1、启发来源
牛客网题目:小乐乐与欧几里得
2、具体代码
#include <stdio.h>
long long function(int x, int y)//最大公约数
{
long long i = 0;
if (x > y)
{
for (i = y; i > 0; i--)
{
if (x % i == 0 && y % i == 0)//整除了
{
return i;//得到公因数
}
}
}
else if (x < y)
{
for (i = x; i > 0; i--)
{
if (y % i == 0 && x % i == 0)
{
return i;//得到公因数
}
}
}
return x;
}
int main()
{
long long number_1 = 0, number_2 = 0;
long long MAX = 0;
long long MIN = 0;
scanf("%lld %lld", &number_1, &number_2);
MAX = function(number_1, number_2);
MIN = (number_1 * number_2) / MAX;
printf("%lld", MAX + MIN);
return 0;
}
3、启发意义
可以通过数学里一个等式关系【最小公因数*最大公倍数 = number_1*number_2】来互求最大公倍数和最小公因数。