题目描述
一个大于1的自然数,除了1和它本身外,不能被其他自然数整除的数称之为素数(质数)。
现在请你写一个程序,计算在某一范围内的质数的个数。
现在请你写一个程序,计算在某一范围内的质数的个数。
输入
多组输入数据。
每组数据中,分别包含两个整数x,y(0<=x<=y<=100000)。
输出
对于每组数据,输出在区间[x,y]中所有质数的个数。
样例输入
3 89 164 13
样例输出
3
2
4
#include<iostream>
#include<cmath>
using
namespace
std;
int
main()
{
int
x,y,i,j,m,k;
const
int
n=130000;
while
(cin>>x>>y)
{
m=0;
int
a[n];
for
(i=2;i<=y;i++)
a[i]=i;
for
(i=2;i<=
sqrt
(y);i++)
for
(j=2;j<=y/i;j++)
a[i*j]=0;
if
(x==1)
x=2;
else
x=x;
for
(j=x;j<=y;j++)
if
(a[j])
m++;
cout<<m<<endl;
}
return
0;
}