c语言求两个非负整数的最大公约数和最小公倍数
时间: 2023-04-26 12:01:20 浏览: 221
如何用c语言求最大公约数和最小公倍数
5星 · 资源好评率100%
最大公约数是指两个或多个整数共有约数中最大的一个数,而最小公倍数是指两个或多个整数公有的倍数中最小的一个数。
在C语言中,可以使用辗转相除法来求两个非负整数的最大公约数,代码如下:
```c
int gcd(int a, int b) {
if (b == 0) {
return a;
} else {
return gcd(b, a % b);
}
}
```
而求最小公倍数可以通过最大公约数来计算,公式为:
最小公倍数 = 两数之积 / 最大公约数
代码如下:
```c
int lcm(int a, int b) {
int gcd_value = gcd(a, b);
return a * b / gcd_value;
}
```
其中,gcd()函数用于求最大公约数,lcm()函数用于求最小公倍数。
阅读全文