求最小公倍数,C语言,辗转相除法
时间: 2023-05-12 22:05:44 浏览: 156
C语言实现最大公约数和最小公倍数算法
最小公倍数可以通过辗转相除法来求解。具体步骤如下:
1. 首先输入两个数a和b,假设a>b。
2. 用a除以b,得到余数r和商q。
3. 如果r等于0,则b就是最小公倍数。
4. 如果r不等于0,则用b除以r,得到余数r1和商q1。
5. 如果r1等于0,则r就是最小公倍数。
6. 如果r1不等于0,则继续用r除以r1,得到余数r2和商q2。
7. 以此类推,直到余数为0为止。
8. 最后,最小公倍数等于a*b除以最后一次的商。
下面是C语言的代码实现:
```c
#include <stdio.h>
int main()
{
int a, b, r, q, r1, q1, r2, q2;
printf("请输入两个整数:");
scanf("%d %d", &a, &b);
while (1)
{
r = a % b;
q = a / b;
if (r == 0)
{
printf("最小公倍数为:%d\n", a * b / b);
break;
}
r1 = b % r;
q1 = b / r;
if (r1 == 0)
{
printf("最小公倍数为:%d\n", a * b / r);
break;
}
r2 = r % r1;
q2 = r / r1;
if (r2 == 0)
{
printf("最小公倍数为:%d\n", a * b / r1);
break;
}
a = r1;
b = r2;
}
return 0;
}
```
注意:这里的代码只是一种实现方式,可能还有其它更好的实现方式。
阅读全文