AcWing 1545. 质因子
原题链接
简单
作者:
Value
,
2020-05-31 16:25:44
,
所有人可见
,
阅读 640
#include <iostream>
#include <vector>
using namespace std;
typedef pair<int, int> pii;
vector<pii> res;
int main(){
int n;
cin >> n;
cout << n << "=";
bool flag = false;
for(int i = 2; i <= n / i; i ++ ){
if(n % i == 0){
int s = 0;
while(n % i == 0){
s ++ ;
n /= i;
}
res.push_back({i, s});
flag = true;
}
}
if(n > 1) res.push_back({n, 1}), flag = true;
if(!flag) res.push_back({n, 1}); // 特判1
flag = true;
for(int i = 0; i < res.size(); i ++ ){
if(!flag) cout << "*";
flag = false;
cout << res[i].first;
if(res[i].second != 1) cout << "^" << res[i].second;
}
return 0;
}