将一个正整数分解质因数 c 语言
时间: 2025-01-01 09:38:29 浏览: 82
在C语言中,将一个正整数分解质因数可以使用循环结构和条件判断来实现。下面是一个简单的示例函数,用于分解并打印出输入数n的所有质因数:
```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("分解质因数结果: ");
for (int i = 2; i * i <= n; i++) {
while (n % i == 0 && is_prime(i)) {
printf("%d ", i);
n /= i;
}
}
// 处理 n 可能大于 2 的情况,如果还有剩余就是 n 自身是质数
if (n > 1 && is_prime(n))
printf("%d", n);
}
int main() {
int number;
printf("请输入一个正整数: ");
scanf("%d", &number);
prime_factors(number);
return 0;
}
```
这个程序首先定义了一个辅助函数`is_prime()`来检查一个数是否为质数。然后,主函数`prime_factors()`通过循环遍历从2到sqrt(n),找到所有能整除n的因子,并继续去除这些因子直到n不再能被i整除。最后,如果n仍有剩余,说明它是最后一个未去除的质因数。
阅读全文
相关推荐


















