素数生成器的算法【C# EDITION】
1
public static ArrayList GeneratePrimes(int ubound)
2
{
3
BitArray flags = new BitArray(ubound + 1, true);
4
for(int i = 2; i <= (int)Math.Sqrt(ubound); i++)
5
{
6
if(flags[i])
7
{
8
for(int j = i; j * i <= ubound; j++)
9
{
10
flags[i * j] = false;
11
}
12
}
13
}
14
15
ArrayList primes = new ArrayList();
16
for(int i = 2; i <= ubound; i++)
17
{
18
if(flags[i])
19
primes.Add(i);
20
}
21
return primes;
22
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
作者: 三角猫
http://www.zu14.cn/
转载请保留此信息

浙公网安备 33010602011771号