RE了三个点
查看原帖
RE了三个点
91757
BlakrPander楼主2021/3/15 13:49

代码:

#include<cstdio>
#include<iostream>
using namespace std;

const int MaxN=1e5+50;
int prime[MaxN]={0};
bool judge[MaxN]={false};

long long max(long long a,long long b){
    return a<b?b:a;
}

int main(){
    long long n,total=0;
    cin>>n;
    for(int i=2;i<MaxN;i++){
        if(!judge[i])
            prime[total++]=i;
         for(int j=0;j<total;j++){
             if(i*prime[i]>MaxN)
                 break;
             judge[i*prime[j]]=true;
             if(i%prime[j]==0)
                 break;
         }
         if(n%prime[total-1]==0){
             cout<<max(n/prime[total-1],prime[total-1]);
             break;
         }
    }
    return 0;
}


2021/3/15 13:49
加载中...