题解 | 质因数的个数
质因数的个数
https://www.nowcoder.com/practice/20426b85f7fc4ba8b0844cc04807fbd9
#include <iostream>
#include <vector>
using namespace std;
vector<int> getVector(int n){
vector<int> nums(n+1);
vector<int> res;
for(int i=2;i<=n;i++){
if(nums[i]==0){
res.push_back(i);
}
for(int j=i*2;j<=n;j+=i){
nums[j] = 1;
}
}
return res;
}
int main() {
int n;
scanf("%d",&n);
vector<int> res = getVector(32001);
int i=0;
int count = 0;
while(i<res.size()){
while(i<res.size()&&n%res[i]==0){
// printf("%d ",res[i]);
count++;
n = n/res[i];
}
i++;
}
if(n>1){
count++;
}
printf("%d",count);
}
// 64 位输出请用 printf("%lld")
查看11道真题和解析