c语言输入一个自然数n,将n分解为质因子连乘的形式输出,如输入24,则程序输出为24=2*2*2*3。
时间: 2024-10-07 16:00:43 浏览: 32
在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) {
int factor = 2;
while (n > 1) {
if (is_prime(factor)) { // 检查当前因子是否为质数
while (n % factor == 0) {
printf("%d*", factor);
n /= factor;
}
}
factor++; // 尝试下一个更大的因子
}
printf("\n");
}
int main() {
int n;
printf("请输入一个自然数: ");
scanf("%d", &n);
printf("%d=", n); // 输出原始数字
prime_factors(n);
return 0;
}
```
当你运行这个程序时,比如输入24,它会输出 `24=2*2*2*3`。
阅读全文