首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

Linq判断素数解决思路

2013-01-11 
Linq判断素数static bool IsPrime(int n){foreach (var i in Enumerable.Range(2, n-1)){if (n%i 0)ret

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

热点排行