如题
#include <stdio.h>
#include <math.h>
int main()
{
unsigned int n,p;
scanf("%d",&n);
p=sqrt(n);
p+=((p*p)!=n);
if ((p==2)&&(n%p==0))
{
printf("%d",n/p>p?n/p:p);
return 0;
}
p+=(p+1)%2;
for (;p<n;p+=2)
{
if (n%p==0)
{
printf("%d",p);
return 0;
}
}
printf("-1");
return 0;
}