为了测试一个数字是否为素数,为什么我们必须测试它是否只能被该数字的平方根整除?
我们如何使用sqrt(n)而不是n/2代码?使用是否正确sqrt(n)?
static boolean isPrime(long n)
{
if(n<=1) return false;
double limit = Math.sqrt(n);
for(long i = 2; i <= limit; i++)
{
if(n%i==0) return false;
}
return true;
}
Run Code Online (Sandbox Code Playgroud)