最大公因数,也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个;最小公倍数是指两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数。最小公倍数=两整数的乘积÷最大公约数 , 所以怎么求最大公约数是关键。
本人习惯用欧几里得法(辗转相除)求最大公约数:
有45与125;
125/45=2……35;
45/35=1……15;
35/15=2……5;
15/5=3……0;此时可以判定5为最大公约数
int main()
{
int a,b,c;
int x,y;
printf("请输入两个不同的整数:");
scanf("%d,%d",&a,&b);
c=a%b;
x=a;y=b;//赋值,保证a,b的数值不会发生变换;
while(c!=0)
{ x=y;
y=c;
c=x%y;
}
printf("最大公约数为:%d\n",y);
printf("最小公倍数为:%d\n",(a*b/y));
int i = 1;//此处运用while循环,不论a,b谁大谁小,可令一方不断乘i并除以另一个数,直到为0
while (a * i % b) {
i++;
}
printf("%d\n", i * a);
}