判断一个数是否是素数,只要判断这个数是否可以被比这个数的平方根小的素数整除就可以了。因此下面用了一个List
view plaincopy to clipboardprint?
static long GetNPrime(int count)//返回第count个素数
{
List
long startNumber = 1;
while (list.Count < count)
{
if (IsPrime(startNumber, list)) list.Add(startNumber);
startNumber++;
}
return --startNumber;
}
static bool IsPrime(long number, List
{
if (number == 1) return false;
long max = (long)Math.Sqrt(number);
foreach (long n in list)
{
if (number % n == 0) return false;
if (n > max) break;
}
return true;
}
static long GetNPrime(int count)//返回第count个素数
{
List
long startNumber = 1;
while (list.Count < count)
{
if (IsPrime(startNumber, list)) list.Add(startNumber);
startNumber++;
}
return --startNumber;
}
static bool IsPrime(long number, List
{
if (number == 1) return false;
long max = (long)Math.Sqrt(number);
foreach (long n in list)
{
if (number % n == 0) return false;
if (n > max) break;
}
return true;
}
0 评论:
发表评论