题解 | #质数因子#
质数因子
https://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607
#include <bits/stdc++.h>
#include <cmath>
#include <vector>
using namespace std;
int main() {
int num;
cin>>num;
int n1=sqrt(num);
vector<int> a;
for(int i=2;i<=n1;i++)
{
int flag1=0;
for(int j=2;j<i;j++)
{
if(i%j==0)
{
flag1=1;
break;
}
else
continue;
}
if(flag1==0)
{
a.push_back(i);
}
}
/*for(vector<int>::iterator it=a.begin();it!=a.end();it++)
{
cout<<*it<<' ';
}
cout<<endl;
int flag2=0;*/
for(vector<int>::iterator it=a.begin();it!=a.end();it++)
{
if(num%*it==0&&num!=*it)
{
do
{
num=num/(*it);
cout<<*it<<' ';
}while (num%*it==0);
}
}
if(num!=1)
cout<<num;
}
// 64 位输出请用 printf("%lld")

