现在的位置: 首页 > 综合 > 正文

素数表

2014年02月04日 ⁄ 综合 ⁄ 共 261字 ⁄ 字号 评论关闭
#define MAX 200
void print_prime(int m)
{
	assert(m <= MAX);
	bitset<MAX> flag;
	flag.reset();
	flag.set(0);
	flag.set(1);

	for (int i = 4; i <= m; i += 2) flag.set(i);
	for (int k = 3; k*k <= m; ++k)
		if (flag[k] == 0)
			for (int j = 3*k; j <= m; j += 2*k) flag.set(j);

	for (int i = 2; i <= m; ++i)
		if (flag[i] == 0)
			printf("%d\n", i);
}

抱歉!评论已关闭.