#include<stdio.h>
int main()
{
int a,b,c,d,e,min,i;
scanf("%d%d",&a,&b);
if(a>b)
{
c=a/b;
d=c%d;
e=c;
min=b;
}
else
{
c=b/a;
d=b%a;
e=c;
min=a;
}
if(d!=0)
for(i=0;;i++)
{
e=d/c;
d=d%c;
if(d==0)
{
printf("最大公约数为%d",e);
printf("最小公倍数为%d",(a*b)/e);
break;
}
}
else
{
printf("最大公约数为%d",min);
printf("最小公倍数为%d",(a*b)/min);
}
return 0;
}

计算最大公约数的方法:
辗转相除法,就是对于给定的两个数,用较大的数除以较小的数。若余数不为零,则将除数变成被除数,余数变成除数,继续上面的除法,直到余数为0,则这时的除数就是原来两个数的最大公约数
文章详细介绍了如何使用C语言实现辗转相除法(欧几里得算法),通过该方法计算两个数的最大公约数,并进一步求得最小公倍数。
2622

被折叠的 条评论
为什么被折叠?



