用C语言编写一个程序分解质因数
时间: 2024-10-17 13:10:56 AIGC 浏览: 70
在C语言中,我们可以创建一个函数来分解质因数。以下是一个简单的示例,该函数接受一个整数作为输入并返回它的质因数列表:
```c
#include <stdio.h>
#include <stdbool.h>
// 判断是否为质数
bool is_prime(int num) {
if (num <= 1)
return false;
for (int i = 2; i * i <= num; ++i)
if (num % i == 0)
return false;
return true;
}
// 分解质因数
void prime_factors(int num, int factors[]) {
int index = 0;
for (int i = 2; ; i++) {
while (num % i == 0 && is_prime(i)) {
factors[index++] = i;
num /= i;
}
if (num == 1) break;
}
}
// 打印质因数
void print_factors(int factors[], int count) {
printf("质因数分解结果: ");
for (int i = 0; i < count; i++)
printf("%d ", factors[i]);
printf("\n");
}
int main() {
int num;
printf("请输入一个整数: ");
scanf("%d", &num);
int factors[100]; // 假设最大不超过100个质因数
int factor_count = 0;
prime_factors(num, factors);
factor_count = primes_found;
print_factors(factors, factor_count);
return 0;
}
```
在这个例子中,`is_prime()` 函数判断输入数字是否为质数,`prime_factors()` 函数实际执行质因数分解,并将结果存储在数组`factors`中。注意这个程序假设输入的数不会超过预定义数组大小。
阅读全文
相关推荐




















