zoukankan      html  css  js  c++  java
  • codevs 6116 区间素数

     时间限制: 8 s
     空间限制: 256000 KB
     题目等级 : 白银 Silver
     
     
     
    题目描述 Description

    小明喜欢研究素数,他想统计两个自然数之间的素数个数,现在他给定一个区间,请你帮忙求出这个区间的素数个数。

    输入描述 Input Description

    两个数a和b,表示开区间[a,b]

    输出描述 Output Description

    输出一个数,表示区间素数的个数

    样例输入 Sample Input

    2 100

    样例输出 Sample Output

    25

    数据范围及提示 Data Size & Hint

    没讲清数据范围,被坑了一次。。

    屠龙宝刀点击就送

    #include <cstdio>
    int n,m,num,ans,Prime[50000005];
    bool isPrime[50000005];
    int main()
    {
        scanf("%d%d",&n,&m);
        isPrime[0]=isPrime[1]=1;
        for(int i=2;i<=m;i++)
        {
            if(!isPrime[i]) Prime[num++]=i;
            for(int j=0;j<num&&i*Prime[j]<=m;j++)
            {
                isPrime[i*Prime[j]]=1;
                if(i%Prime[j]==0) break;
            }
        }
        for(int i=n;i<=m;i++) if(!isPrime[i]) ans++;
        printf("%d",ans);
        return 0;
    }
    我们都在命运之湖上荡舟划桨,波浪起伏着而我们无法逃脱孤航。但是假使我们迷失了方向,波浪将指引我们穿越另一天的曙光。
  • 相关阅读:
    rpc
    route
    ROLLBACK
    rmdir -删除空目录
    rm
    rlogin
    REVOKE
    resolver
    RESET
    repquota
  • 原文地址:https://www.cnblogs.com/ruojisun/p/7161395.html
Copyright © 2011-2022 走看看