C++输入一个自然数,输出其各因子的连乘形式,如输入 12,则输出 12=1*2*2*3
时间: 2023-09-14 18:02:40 浏览: 87
输入一个正整数,判断是不是素数(C++)
以下是使用 C++ 实现的代码:
```cpp
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n;
cin >> n;
vector<int> factors;
for (int i = 2; i <= n; ++i) {
while (n % i == 0) {
factors.push_back(i);
n /= i;
}
}
cout << n << "=";
for (int i = 0; i < factors.size(); ++i) {
cout << factors[i];
if (i < factors.size() - 1) {
cout << "*";
}
}
return 0;
}
```
首先,我们输入一个自然数 `n`,然后用一个向量 `factors` 来存储 `n` 的因子。接着我们从 `2` 开始遍历到 `n`,如果 `i` 是 `n` 的因子,那么就将其存入 `factors` 中,并且将 `n` 除以 `i`,直到 `n` 不能再被 `i` 整除。最后,我们将 `n` 和 `factors` 输出即可。
阅读全文