将一个正整数分解成质因数(使用C语言)
时间: 2024-11-17 07:29:53 浏览: 142
c代码-将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
在C语言中,我们可以使用循环结构和取模操作来将一个正整数分解成质因数。下面是一个简单的函数示例,用于分解给定的数字n:
```c
#include <stdio.h>
#include <stdbool.h>
// 判断是否为质数
bool isPrime(int num) {
if (num <= 1)
return false;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0)
return false;
}
return true;
}
// 分解质因数
void primeFactors(int n) {
while (n > 1) {
// 查找最小的质因子
int factor = 2;
while (n % factor != 0 && !isPrime(factor)) {
factor++;
}
printf("%d ", factor); // 输出质因数
// 更新n
n /= factor;
}
}
int main() {
int num;
printf("请输入一个正整数: ");
scanf("%d", &num);
primeFactors(num);
printf("\n");
return 0;
}
```
在这个程序中,我们首先检查输入的数字是否小于等于1,因为它们不是质数。然后,我们从2开始遍历,寻找每个数能整除n的最大因子,如果这个因子是质数,则打印出来,并更新n值。这个过程会一直持续到n变成1。
阅读全文