2019版本,Visual Studio.最小公倍数与最大公约数。
辗转相除法
#include<stdio.h>
int main(void)
{
int j;
int a, b, c, m, n;
scanf_s("%d\n", &j);
for (int i = 0; i < j; i++)
{
scanf_s("%d %d", &a, &b);
m = a;
n = b;
while (b != 0)
{
c = a % b;
a = b;
b = c;
}
printf("%d\n", a);
printf("%d\n", m * n / a);
}
return 0;
}
另外一种方法:
- max=a;
- min=b;//这里需要知道,必须a>b,
-
for(i=2;i<min;i++)
-
{
-
if(a%i==0&&b%i==0)
-
{
-
x=i;
-
}
-
}
-
for(j=a*b;j>=max;j--)
-
{
-
if(j%a==0&j%b==0)
-
{
-
y=j;
-
}
-
}
- 这里的x和y就是最小公倍数和最大公约数了