C语言请编写程序,输入一个正整数 n(>1),对其进行质因数分解,输出分解结果。 输入样例 6618848 输出样例 6618848 = 2^5 * 17 * 23^3
时间: 2024-10-28 12:08:04 浏览: 38
在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 num) {
printf("%d =", num);
int factor = 2;
while (num > 1) {
if (num % factor == 0 && is_prime(factor)) {
printf(" %d", factor);
num /= factor;
} else {
factor++;
}
}
printf("\n");
}
int main() {
int n;
printf("请输入一个正整数 (>1): ");
scanf("%d", &n);
if (n <= 1) {
printf("错误:输入值必须大于1。\n");
} else {
prime_factors(n);
}
return 0;
}
```
在这个程序中,我们首先定义了一个`is_prime()`函数检查数字是否为质数,然后在`prime_factors()`函数中使用`factor`变量找到并打印出所有因子。主函数`main()`负责接收用户输入,并判断其有效性。
当你运行这个程序并输入6618848,它会输出分解后的结果:
```
6618848 = 2^5 * 17 * 23^3
```
阅读全文