多次输出最小公倍数C语言
时间: 2024-10-09 12:00:34 浏览: 21
c语言最大公约数最小公倍数
在C语言中计算两个或多个整数的最小公倍数(LCM,Least Common Multiple)通常涉及到一些基本的数学知识和算法。这里提供一种简单的基于辗转相除法(欧几里得算法)和循环的方式来实现:
```c
#include <stdio.h>
// 辗转相除法求最大公约数(GCD)
int gcd(int a, int b) {
if (b == 0)
return a;
else
return gcd(b, a % b);
}
// 利用GCD求LCM
int lcm(int a, int b) {
return (a * b) / gcd(a, b);
}
// 计算并输出多个数的最小公倍数
void multiple_lcm(int arr[], int n) {
int first = arr[0];
for (int i = 1; i < n; ++i) {
first = lcm(first, arr[i]);
}
printf("最小公倍数为:%d\n", first);
}
int main() {
int numbers[] = {4, 6, 8};
int num_elements = sizeof(numbers) / sizeof(numbers[0]);
multiple_lcm(numbers, num_elements);
return 0;
}
```
在这个程序中,我们首先定义了一个`gcd`函数用于求两个数的最大公约数,然后利用这个函数计算了所有输入数组元素的最小公倍数。在`multiple_lcm`函数中,通过遍历数组并逐个更新最小公倍数,最后输出结果。
阅读全文