第六章 BitArray类
时间:2010-11-01 来源:woxf
一、定义一普通数组,数组容量1024;并将该数组内所有值置1;
二、操作数从索引2(因为2是第一个素数)开始依次检查每个后续的数组索引,先查看该索引对应的元素值是否为1;若为1,那么就检查该索引是否是2的倍数;
三、若第二步中,索引是2的倍数,那么就把该索引的数值设为0;
四、检查完所有数组索引后,接着移动到索引3,重复相同的操作。
方法代码:
代码public void GenPrimes(int [] arr)
{
for (int outer = 2; outer <= arr.GetUpperBound(0); outer++)
{
for (int inner = outer + 1; inner <= arr.GetUpperBound(0); inner++)
{
if (arr[inner] == 1)//该索引对应的值是否为1
if ((inner % outer) == 0)//若上面的值为1,则判断该索引自身能否被2,3整除,若能整除,则将该索引对应的值置0
arr[inner] = 0;
}
}
}
显示素数:
代码
public void ShowPrimes(int[] arr)
{
for (int i = 2; i <= arr.GetUpperBound(0); i++)
if (arr[i] == 1)
Console.Write(i + " ");//对应的索引值就是素数
}
BitArray类实现上述查找方法还未掌握,继续看。
相关阅读 更多 +