我在检查一个数字是否为素数的函数时遇到了问题 - 它有时会返回一个数字不是素数(有时也是偶数!)。知道为什么吗?
int isPrime(long x){
int i;
if(x==2||x==3) return 1; //if i = 2 or 3, return true
if(!(x&1)) return 0; //if x is even return false
for(i=3;i<=sqrt(x);i+=2) if (x%i == 0) return 0; //if x is divisible by i return false
return 1;
}
对于大家,非常感谢您的回答,如果我的代表足够高,我会全部+1:D
可悲的是,我的白痴达到了新的高度,我发现错误在我程序的其他地方的逻辑中。