#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n;
bool is_prime(ll x){
if(x==1)return false;
if(x==2||x==3)return true;
if(x%6!=1&&x%6!=5)return false;
int s=sqrt(x);
for(int i=5;i<=s;i+=6)if(x%i==0||x%(i+2)==0)return false;
return true;
}
vector<ll> pfc(ll n){
vector<ll>st;
ll i=0;
if(n==1){
st.push_back(1);
return st;
}
while(i<n){
if(is_prime(n)){
st.push_back(n);
return st;
}
for(i=2;i<n;i++)
if(n%i==0){
st.push_back(i);
n/=i;
break;
}
}
st.push_back(n);
return st;
}
int main(){
cin>>n;
cout<<pfc(n);
return 0;
}
此代码本地报错,报错如下:
e,不知道为什么(可能是我还没有学,求 dalao 调一下


