使用【C语言】写【以交互方式输入大于1的正整数;将输入的正整数分解为所有可能的两个因数的乘积,但不能出现重】的代码
时间: 2024-10-24 20:08:03 浏览: 31
在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 factorize(int num) {
printf("分解结果:\n");
for (int i = 1; i <= num / 2; ++i) {
if (num % i == 0 && is_prime(i)) {
int j = num / i;
printf("%d * %d = %d\n", i, j, num);
}
}
}
int main() {
int input;
printf("请输入一个大于1的正整数: ");
scanf("%d", &input);
if (input <= 1) {
printf("错误: 输入必须大于1.\n");
} else {
factorize(input);
}
return 0;
}
```
在这个程序中,`is_prime`函数用于检查一个数是否为质数,而`factorize`函数负责找到给定数的所有非重复因子对。如果输入的是合数,则会打印出其所有的非重复因子组合。
阅读全文