//首先,我们选择使用辗转相除的思想计算最大公因数,再由这两个数的乘积除以他们的最大公因数 就是她们的最小公倍数就可以完成题目要求.
1.代码,解释都在里面
#include
int gys(int x, int y)
{
int t; //定义一个第三方变量,用来交换x和y的值;
int r; //用来存放两个数的余数
if (xy
}
r = x % y;
while (r!=0) //余数不等于0,接着往下找
{
x = y;
y = r;
r = x % y;
}
return y; //余数为0返回y也就是最大公因数
}
int main()
{
int x, y;
int least_common; //最小公倍数
printf("请输入两个数:n");
scanf_s("%d%d", &x, &y);
printf("最大公约数为:%dn", gys(x, y)); //调用函数输出值
least_common = x * y / gys(x, y); //这里注意,因为,我们计算最小公倍数的思想是:使用刚开始的俩个值的乘积去除以他们的最大公约数
printf("最小公倍数%d", least_common);
}