代码如下:#include <stdio.h>
#include <math.h>
int isPrime(const long long int n);
int isPrime(const long long int n)
{
int i;
if (n <= 1)
{
return 0;
}
else
{
if (n == 2)
{
return 1;
}
else if (!(n % 2))
{
return 0;
}
else
{
for (i = 3; i < (int)(sqrt((double)n))+1; i += 2) // 提示错误的地方
{
if (!(n % i))
{
return 0;
}
}
}
}
return 1;
}
int main()
{
unsigned long long i, j, k, num = 600851475143;
for (i = (num / 2); i > 1; i--)
{
if ((isPrime(i)) && !(num % i))
{
break;
}
}
printf("%lld\n", i);
return 0;
}
|