C++输入一个自然数,输出其各因子的连乘形式,如输入 12,则输出 12=1*2*2*3。
时间: 2023-11-27 22:49:21 浏览: 135
输入一个正整数,判断是不是素数(C++)
以下是C++代码实现:
```c++
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
cout << n << "=";
for (int i = 2; i <= n; i++) {
while (n % i == 0) {
cout << i;
n /= i;
if (n != 1) {
cout << "*";
}
}
}
return 0;
}
```
首先读入一个自然数 `n`,然后从 `2` 开始一直遍历到 `n`,对于每个数 `i`,如果 `n` 能够整除它,则说明 `i` 是 `n` 的一个因子,因此需要将其输出,并将 `n` 除以 `i`,继续查找下一个因子。如果 `n` 不再能够被 `i` 整除,则表示已经找到了所有 `i` 的因子。在输出因子时,需要注意输出的格式,即在每个因子之间加上 `*`,并在最后一个因子后面不需要再加 `*`。最后输出结果即可。
阅读全文