C语言自定义函数求整数k的全部素数因子,并输出。(说明:例如:当k=126时,素数因子为:2,3,3,7。要求按如下格式输出:1)
时间: 2024-10-14 13:18:46 浏览: 29
在C语言中,我们可以编写一个函数来找出给定整数k的所有素数因子。首先,我们需要一个判断是否为素数的辅助函数。以下是完整的代码示例:
```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;
}
// 求整数k的素数因子并输出
void prime_factors(int k) {
printf("素数因子: ");
bool first = true;
for (int i = 2; i * i <= k; i++) {
while (k % i == 0 && is_prime(i)) {
if (!first) {
printf(", ");
} else {
first = false;
}
printf("%d", i);
k /= i;
}
}
// 处理k可能剩下的质因数
if (k > 1 && is_prime(k)) {
printf(", %d", k);
}
printf("\n");
}
int main() {
int k = 126;
prime_factors(k); // 输出:素数因子: 2, 3, 3, 7
return 0;
}
阅读全文