我是用素数筛出素数然后遍历素数
RE了,悲
代码:
#include<bits/stdc++.h>
using namespace std;
int n;
const int N=1e6+10;
bool f[N];
int main(){
cin>>n;
f[1]=true;
for(int i=2;i<=n;i++){
if(!f[i]){
for(int j=2;j*i<=n;j++){
f[i*j]=true;
}
}
}
for(int i=2;i*i<=n;i++){
if(n%i==0 && !f[i]){
cout<<max(i,n/i);
return 0;
}
}
}