读书人

Linq判断素数解决思路

发布时间: 2013-01-11 11:57:35 作者: rapoo

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很像啊

读书人网 >.NET

热点推荐