B1013 数素数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了B1013 数素数相关的知识,希望对你有一定的参考价值。

#include<iostream>

using namespace std;

const int MAXN = 1000000;
int prime[MAXN];
int num = 0;
bool p[MAXN] = { 0 };

void find_prime(int n)
{
	for (int i = 2; i<MAXN; i++)
	{
		if (p[i] == false)
		{
			prime[num++] = i;
			if (num >= n)
				break;
			for (int j = i + i; j<MAXN; j +=i)//j<maxn,not j<=n
			{
				p[j] = true;
			}
		}
	}
}


int main()
{
	int count = 0;
	int m, n;
	cin >> m >> n;
	find_prime(n);
	for (int i = m; i<n + 1; i++)
	{
		cout << prime[i - 1];//coz array index begin with 0,so the Mth number,which index is m-1
		count++;
		if (count % 10 != 0 && i<n)//10 numbers of each line, good idea!
			cout << " ";
		else
			cout << endl;
	}

	return 0;
}

 

以上是关于B1013 数素数的主要内容,如果未能解决你的问题,请参考以下文章

B1013

PAT B1013

B1013

代码实现:判断101-200之间有多少个素数(质数),并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

B.1013 数素数 (20) --暴力代码

05:素数回文数的个数