用c语言编写代码,计算n个正整数的最小公倍数,输入样例为n和n个正整数
时间: 2024-10-23 11:18:15 浏览: 48
在C语言中,计算n个正整数的最小公倍数(LCM)通常需要先找到每个数字的最大公约数(GCD),然后用它们的乘积除以GCD的结果就是最小公倍数。这里有一个简单的步骤示例:
```c
#include <stdio.h>
#include <math.h> // 需要math库来进行取模操作
// 计算最大公约数的欧几里得算法
int gcd(int a, int b) {
if (b == 0)
return a;
else
return gcd(b, a % b);
}
// 计算最小公倍数
int lcm(int a, int b) {
return (a * b) / gcd(a, b);
}
// 主函数,用于输入n个正整数并计算它们的最小公倍数
int main() {
int n, num[100]; // 假设最多有100个数
printf("请输入正整数的数量(n): ");
scanf("%d", &n);
for (int i = 0; i < n; i++) {
printf("请输入第%d个正整数: ", i+1);
scanf("%d", &num[i]);
}
// 使用循环求出所有数的最小公倍数
int result = num[0];
for (int i = 1; i < n; i++) {
result = lcm(result, num[i]);
}
printf("给定n个正整数的最小公倍数是: %d\n", result);
return 0;
}
```
在这个代码中,我们首先计算第一个数与其他数的最小公倍数,然后逐步添加下一个数直到遍历完所有输入的数字。
阅读全文