用c语言实现:3. (程序题) 编写程序,将一个正整数分解质因数。例如,输入90,输出2*3*3*5。 测试用例: 输入 输出 90 2*3*3*5
时间: 2024-11-04 14:11:21 浏览: 15
你可以使用C语言编写一个函数来实现这个功能。下面是一个简单的示例,该函数接收一个正整数作为输入,并返回它的质因数分解:
```c
#include <stdio.h>
// 函数用于找出并打印质因数
void primeFactors(int num) {
while (num > 1) {
int i = 2;
// 循环寻找最大的能整除num的质因数
while (i * i <= num) {
if (num % i == 0) {
printf("%d*", i); // 打印当前质因数
num /= i; // 更新num为商,继续寻找下一个质因数
} else {
i++;
}
}
if (num > 2) { // 如果num仍大于2,则它是剩下的质因子
printf("%d", num);
}
printf("\n");
}
}
int main() {
int input;
printf("请输入一个正整数: ");
scanf("%d", &input);
primeFactors(input);
return 0;
}
```
在这个程序中,`primeFactors`函数通过不断尝试将输入数字`num`除以从2开始的每个数,直到找到可以整除的数为止。然后它会更新`num`并继续查找更大的因数,直到`num`变为1。如果在某个时刻`num`不再能被`i`整除,说明`i`就是质因数,我们会打印出来并将`num`除以`i`。
测试用例:
输入:90
输出:2*3*3*5
运行上述代码,你会看到对于输入的任何正整数,都会得到其对应的质因数分解结果。
阅读全文