求任意俩个整数之间的素数的个数!

素数个数
【问题描述】素数是除1和本身以外,不能被其他任何整数整除的整数。要求用户输入两个正整数 n 、 m ,其中(1【输入形式】两个正整数 n , m
【输出形式】 n ~ m 之间(包含 n , m 本身)的素数个数。【样例输入】2 10
【样例输出】4
刚学 真的不会做!!


#include <iostream>
#include <cmath>
using namespace std;
const int maxn=100005;
int sushu[maxn]={0};
void intt(){//筛法求素数
    sushu[0]=1;
    sushu[1]=1;
    for(int i=2; i<=maxn-5; i++)
    {
        if(sushu[i]==0)
        {
            for(int j=i+i; j<=maxn-5; j+=i)
            {
                sushu[j]=1;
            }
        }
    }
}
int main(int argc, char *argv[]) {
    intt();
    int x,y;
    cin>>x>>y;
    int count=0;
    if(x>y)
    {
        swap(x,y);
    }
    for(int i=x; i<=y; i++)
    {
        if(sushu[i]==0)
        {
            count++;
        }
    }
    cout<<count<<endl;
    return 0;
}

这道题可以用筛法做。