写一个C程序:输入两个正整数M和N,求其最大公约数和最小公倍数?_百度知...

发布网友 发布时间:2024-09-29 10:06

我来回答

1个回答

热心网友 时间:2024-09-29 18:40

#include
int
(int
x,int
y);
int
gdd(int
x,int
y);
int
gdd1(int
x,int
y);
int
gdd2(int
x,int
y);
void
main()
{
int
a,b;
printf("请输入两个整数A和B:");
scanf("%d%d",&a,&b);
if(a>b)
{
printf("最大公约数是:%d\n",(a,b));
printf("最小公倍数是:%d\n",gdd(a,b));
printf("最小公倍数是:%d\n",gdd1(a,b));
printf("最小公倍数是:%d\n",gdd2(a,b));
}
else
{
printf("最大公约数是:%d\n",(b,a));
printf("最小公倍数是:%d\n",gdd(b,a));
printf("最小公倍数是:%d\n",gdd1(b,a));
printf("最小公倍数是:%d\n",gdd2(b,a));
}
}
int
(int
x,int
y)//最大公约数
{
int
i,sum=1;
for(i=1;i<=y;i++)
{
if(x%i==0&&y%i==0)
{
x/=i;
y/=i;
sum*=i;
i=1;
}
}
return(sum);
}
int
gdd(int
x,int
y)//最小公倍数法1
{
int
i;
i=x;
while(i%x!=0||i%y!=0)
{
i++;
}
return(i);
}
int
gdd1(int
x,int
y)//最小公倍数法2
{
int
i=y;
while(y%x!=0)
{
y+=i;
}
return(y);
}
int
gdd2(int
x,int
y)//最小公倍数法3
{
int
i,sum;
i=(x,y);
sum=x/i*y;
return(sum);
}
我用了3个函数来求最小公倍数,你编译的时候用1个就可以了。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com