分解质因数 c 语言
时间: 2024-10-15 19:05:17 浏览: 10
分解质因数是指将一个正整数表示为若干个质数相乘的形式。在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 are: ", n);
for (int i = 2; i <= n; i++) {
while (n % i == 0 && is_prime(i)) {
printf("%d ", i);
n /= i;
}
}
printf("\n");
}
int main() {
int number;
printf("Enter a positive integer: ");
scanf("%d", &number);
prime_factors(number);
return 0;
}
```
在这个程序中,
1. `is_prime` 函数用于检查一个数字是否为质数;
2. `prime_factors` 函数接收一个整数 `n`,并打印出它的所有质因数。它会不断除以当前较小的质数,直到不能再整除为止。
当你运行这个程序并输入一个数字时,它会显示出该数的所有质因数。
阅读全文