编写一个程序求3组整数(每组2个)的最大公约数和最小公倍数。

来源:百度知道 编辑:UC知道 时间:2024/06/01 11:31:35
编写一个程序求3组整数(每组2个)的最大公约数和最小公倍数。要求写一个求两个数最大公约数的函数和一个求两个数最小公倍数的函数。

麻烦你们了。谢谢你们了。

#include <stdio.h>

#define NUM 3

//最大公约数
int gcd(int a, int b)
{
int t;

if (b>a)
{
t=a;
a=b;
b=t;
}
while (b>0)
{
t=a%b;
a=b;
b=t;
};
return a;
}

//最小公倍数
int lcm(int a, int b)
{
return (a*b/gcd(a,b));
}

main()
{
int a[NUM][2]={0};
int i,m,n;

printf("输入%d组整数:\n",NUM);
for(i=0;i<NUM;i++)
scanf("%d%d",&a[i][0],&a[i][1]);
for(i=0;i<NUM;i++)
{
m=a[i][0];
n=a[i][1];
printf("%d,%d的最大公约数:%d\n",m,n,gcd(m,n));
printf("%d,%d的最小公倍数:%d\n",m,n,lcm(m,n));

}
getchar();
}

每组2个,而且确保是正整数么?
int gcd(int a, int b)
{
int t;
if (b>a) {t=a; a=b; b=t;};
while (b>0)
{
t=a%b;
a=b;
b=t;