原理
对一个大于1的整数$n$,$n$可以分解质因数为$\prod_{i=1}^{k}p_i^{a_i} = {p_1}^{a_1}·{p_2}^{a_2}···{p_k}^{a_k}$
朴素法,循环判断每一位
。
代码
#include <iostream>
#include <vector>
using namespace std;
typedef pair<int, int> pii;
vector<pii> p;
int main()
{
int a;
cin >> a;
for (int i = 2; i <= a; i++) //i从2开始遍历,a每次循环都在更新
{
int s = 0;
while (a % i == 0)
{
s++;
a /= i;
}
if (s) p.push_back({i, s}); //s不为0时,加入到结果集中
}
for (auto u : p) cout << u.first << " " << u.second << endl;
}