zoukankan      html  css  js  c++  java
  • 梦工厂实验室 素数求和 神奇的素数筛选

    问题 G: 素数求和

    时间限制: 1 Sec  内存限制: 256 MB
    提交: 142  解决: 30
    [提交][状态][讨论版]

    题目描述

    输入一个自然数n,求小于等于n的素数之和

    输入

     

    输出

     

    样例输入

    2

    样例输出

    2

    提示

    测试样例保证 2 <= n <= 2,000,000

    埃拉托斯特尼筛法(Sieve of Eratosthenes)

    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    #include<math.h>
    #include<stack>
    #include<queue>
    #include<vector>
    #include<algorithm>
    using namespace std;
     
    int a[2000005];
    int main()
    {
        int n,i,j;
        long long sum;
        scanf("%d",&n);
        a[1]=1;
        a[2]=0;
        for(i=2;i<=n;i++){
            if(a[i]==0){
                for(j=2;i*j<=n;j++){
                    a[i*j]=1;    //筛法核心
                }
            }
        }
        sum=0;
        for(i=1;i<=n;i++){
            if(!a[i]){
                sum+=i;
            }
        }
        printf("%lld
    ",sum);
        return 0;
    } 
    /**************************************************************
        Problem: 1551
        User: 2016207228
        Language: C++
        Result: 正确
        Time:67 ms
        Memory:8896 kb
    ****************************************************************/
  • 相关阅读:
    php多态
    ssl certificate problem: self signed certificate in certificate chain
    test plugin
    open specific port on ubuntu
    junit vs testng
    jersey rest service
    toast master
    use curl to test java webservice
    update folder access
    elk
  • 原文地址:https://www.cnblogs.com/yzm10/p/7257932.html
Copyright © 2011-2022 走看看