C++输入一个自然数,输出其各因子的连乘形式,如输入 12,则输出 12=1*2*2*3
时间: 2023-09-14 17:07:10 浏览: 74
以下是实现该功能的C++代码:
```c++
#include <iostream>
#include <vector>
using namespace std;
vector<int> getFactors(int num) {
vector<int> factors;
for (int i = 2; i <= num / i; i++) {
while (num % i == 0) {
factors.push_back(i);
num /= i;
}
}
if (num > 1) {
factors.push_back(num);
}
return factors;
}
int main() {
int num;
cout << "请输入一个自然数:";
cin >> num;
vector<int> factors = getFactors(num);
cout << num << "=" << 1;
for (int i = 0; i < factors.size(); i++) {
cout << "*" << factors[i];
}
cout << endl;
return 0;
}
```
首先定义一个函数`getFactors`来获取给定数的因子,使用了试除法的思想,将所有因子存储在一个`vector`中并返回。然后在`main`函数中,读入一个自然数,调用`getFactors`函数获取其因子,再按照题目要求输出即可。
阅读全文