2379 - 【入门】素数的个数

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB
编程求正整数MN之间的所有素数的个数.M<=N

<div>
</div>

题目输入

输入只有一行,包括2个整数M,N,之间用一个空格分开。

题目输出

输出只有一行(这意味着末尾有一个回车符号),包括1个整数。

输入/输出样例

输入格式

1 20

输出格式

8

C++解答

#include<bits/stdc++.h>
using namespace std;
int n,m,a[100005];
int main()
{
    cin>>n>>m;a[1]=1;
    for(int i=2;i*i<=100000;i++)
    {
    	if(a[i]==0)
    	for(int j=i+i;j<=100000;j+=i)
    	a[j]=1;
	}
	for(int i=1;i<=100000;i++)
	{
		if(a[i]==0)a[i]=a[i-1]+1;
		else a[i]=a[i-1];
	}
	cout<<a[m]-a[n-1];    
	return 0;
}