帮我编写一段c++程序:找出任意正整数的所有因子(本身除外)。例如,输入6,则输出:1,2,3,输入20,则输出: 1,2,4,5,10
时间: 2024-10-11 18:13:06 浏览: 21
当然可以。下面是一个简单的 C++ 程序,它会接受用户输入的正整数,并打印出所有除1和自身以外的因子:
```cpp
#include <iostream>
using namespace std;
void findFactors(int number) {
for (int i = 1; i <= number / 2; ++i) {
if (number % i == 0) {
cout << i << " ";
}
}
}
int main() {
int input;
cout << "请输入一个正整数: ";
cin >> input;
cout << "该数的因子除了1和它自身外还有: ";
findFactors(input);
return 0;
}
```
在这个程序中,`findFactors` 函数遍历从1到输入数字的一半,如果当前数值能整除输入的数(即 `number % i == 0`),那么就将其打印出来。注意,我们只检查小于等于输入数一半的因子,因为大于这个值的因子会和之前的因子成对出现。
阅读全文