题解:
最开始以为要用筛法,然后就写的很复杂,只得了60分,后来看常哥AC的代码
关键代码就只有十行左右。那么就是从小到大查第一个质数,n除以这个质数就是
分得的最大质数了
代码:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
#include<climits>
#include<vector>
#include<queue>
#include<stack>
#include<map>
#include<set>
#include<cctype>
#define MAXA 2000500
using namespace std;
typedef long long LL;
int n,p,cnt;
int prime[MAXA],Possible[MAXA];
inline int judge(int n) {
for(int i=2;i*i<=n;i++) {
if(n % i == 0)
return (n/i);
}
}
int main() {
// freopen("prime.in","r",stdin);
// freopen("prime.out","w",stdout);
scanf("%d",&n);
printf("%d",judge(n));
}