c 语言输出一个正整数的所有质因数
时间: 2024-11-06 08:35:33 浏览: 37
Python实现将一个正整数分解质因数的方法分析
5星 · 资源好评率100%
在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 n) {
printf("Prime factors of %d: ", n);
for (int i = 2; i <= n; i++) {
while (n % i == 0 && is_prime(i)) {
printf("%d ", i);
n /= i;
}
}
if (n > 1)
printf("%d", n); // 如果n还有剩余,表示最后一个质因子就是n本身
}
int main() {
int input_number;
printf("Enter a positive integer: ");
scanf("%d", &input_number);
prime_factors(input_number);
return 0;
}
```
在这个程序中,`is_prime()` 函数用于检查一个数是否为质数,`prime_factors()` 函数则负责找到并打印出给定整数的所有质因数。
阅读全文