= 1<<index;
}
else {
bits[index>>5] &= ~(1<<index);
}
}
}
}
class Sample //创建一个Sample类
{
static int Count(int max) { //定义一个静态的int类型的方法
BitArray flags=new BitArray(max+1); //实例化BitArray类,并用max参数来初始化
int count=1; //定义一个int类型的count变量,并初始化为1
for (int i=2;i<=max;i++) { //定义一个循环,范围是从2-max,因为每个数肯定能整除1,所以略过.
if (!flags[i]) { //调用BitArray类的实例flags的索引指示器,
for (int j=i*2;j<=max;j+=i) flags[j]=true; //不懂
count++; //每循环一次,让count加1,
}
}
return count; //返回count
}
static void Main(string[] args) { //设置主函数,注意数组作为参数的用法
int max=int.Parse(args[0]); //获取数组参数的第一个值
int count=Count(max); //调用Count方法来处理max,
Console.WriteLine("从1到{0}之间共有{1}个质数",max,count); //向屏幕打印处理结果.
}
}
关键词:演示索引指示器的用法(C#)