#include <stdio.h>
int main()
{
int a;
int b;
int max = 0;
int min = 0;
int a1;
int b1;
scanf_s("%d %d",&a,&b);
for (int i = 1; i <= a && i <= b; i++)
{
if (a % i == 0 && b % i == 0)
{
max = i;
}
}
//printf("%d",max);
a1 = a / max;
b1 = b / max;
min = a1 * b1 * max;
printf("%d,%d",max,min);
return 0;
}
或者是:
#include <stdio.h>
int gcd(int a, int b)
{
while (b != 0)
{
int temp = b;
b = a % b;
a = temp;
}
return a;
}
int lcm(int a, int b)
{
return a * b / gcd(a, b);
}
int main()
{
int a, b;
scanf_s("%d %d", &a, &b);
int greatestCommonDivisor = gcd(a, b);
int leastCommonMultiple = lcm(a, b);
printf("%d,%d", greatestCommonDivisor, leastCommonMultiple);
return 0;
}
第二种方法运用到了辗转相除法以及函数的一个运用,第一种方法则较为直观