#include<stdio.h>
int f(int x,int y)
{
int t;
while(y!=0)
{
t=x%y;
x=y;
y=t;
}
return x;
}
int main()
{
int x,y,t=0,d=0;
scanf("%d %d",&x,&y);
t = f(x,y);
d=x*y/t;
printf("%d %d",d,t);
return 0;
}
总结:
求最小公倍数 = 两个数的乘积 / 最大公约数
求最大公约数
(1)辗转相除法
两个整数x和y
1 x%y得t
2 如果t=0,则 y 为两个数的最大公约数
3 否之,x=y , y= t,继续执行1
代码段: 简写方法:
:
(2)相减法
有两个整数x y
1 若 x>y 则x = x-y;
2 若 x<y 则y = y-x;
3 若x==y 则 x或者y即为最大公约数
4 若 a!=b ,继续执行
代码段: