C语言实现打印分解质因数
时间: 2024-10-20 14:10:32 浏览: 29
将一个正整数分解质因数 例如:输入90,打印出90=2*3*3*5(C实现)
在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) {
int factor = 2;
while (n > 1) {
if (is_prime(factor)) {
while (n % factor == 0) {
printf("%d ", factor);
n /= factor;
}
}
factor++;
// 如果factor不再能整除n,说明我们已经找到了所有当前因子的倍数
if (n == 1 || !is_prime(factor))
break;
}
printf("\n");
}
int main() {
int number;
printf("请输入一个整数: ");
scanf("%d", &number);
prime_factors(number);
return 0;
}
```
在这个程序中,`is_prime()` 函数用于检查一个数是否为质数,`prime_factors()` 函数则递归地查找并输出每个质因数。用户通过`main()`函数输入一个数字,然后调用分解函数。
阅读全文