求出区间[a,b]中所有整数的质因数分解
作者:
MeowRain
,
2023-03-03 17:46:09
,
所有人可见
,
阅读 247
#include <iostream>
#include <cmath>
#include <vector>
using namespace std;
const int N = 1e6 + 10;
int a, b;
vector<int> primeFactors(int n)
{
vector<int> factors;
int i = 2;
while (n > 1) {
if (n % i == 0) {
factors.push_back(i);
n /= i;
} else {
i++;
}
}
return factors;
}
int main() {
cin >> a >> b;
vector<vector<int>> vec;
for(int i = a; i <= b; i++){
vector<int> tmp = primeFactors(i);
vec.push_back(tmp);
}
for(int i = a; i <= b; i++){
cout << i << "=";
int len = vec[i-a].size();
for(int j = 0; j < len; j++){
if(j != len-1) cout << vec[i-a][j] << "*";
else cout << vec[i-a][j];
}
cout << endl;
}
return 0;
}