Linq判断素数
static bool IsPrime(int n)
{
foreach (var i in Enumerable.Range(2, n-1))
{
if (n%i == 0)
return false;
}
return true;
}
static bool IsPrime2(int n)
{
return Enumerable.Range(2, n - 1).All(i => n%i != 0);
}
这两个函数都不对啊,不知道为什么
[解决办法]
bool primeNumber(int n)
{
bool b=true;
if(n<2) b=false;
else
{
for(int i=2;i<=(int)Math.Sqrt(n);i++)
{
if(n%i==0)
{
b=false;
break;
}
}
}
return b;
}
参考:
http://blog.csdn.net/q107770540/article/details/6324702
[解决办法]
看到那个 break; 没有?
[解决办法]
def isPrime(n):
from math import sqrt
return n>1 and all(n % i!=0 for i in range( 2, int(sqrt(n))+1) )
Linq和Python很像啊