问题标题: 酷町堂:9830 质数的和

0
0
已解决
叶珂睿
叶珂睿
新手天翼
新手天翼

题目链接: 酷町堂:9830

题目描述 De**ion

输入一个整数n,然后输出2到n之间所有的质数,再输出这些质数相加的和。

输入描述 Input De**ion

1行:一个正整数n;

输出描述 Output De**ion

输出共两行;
第1行:2到n之间所有的质数,数字之间用空格隔开;
第2行:一个整数,表示这些质数的和;

样例输入 Sample Input

10

样例输出 Sample Output

2 3 5 7 17

数据范围及提示 Data Size & Hint

30%数据:2<=n<=1000;
60%数据:2<=n<=100000;
100%数据:2<=n<=10000000;

代码:WA60分代码:

#include<iostream>
#include<iomanip>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<cstdlib>
#include<string>
#include<set>
#include<cstring>
#include<map>
#include<sstream>
using namespace std;
int n,sum;
bool b[10000000];
int main(){
    cin>>n;
    b[1]=1;
    for(int i=2;i<=sqrt(n);i++){
        if(b[i]==0){
            for(int j=i*2;j<=n;j+=i){
                b[j]=1;
            }
        }
    }
    for(int i=1;i<=n;i++){
        if(b[i]==0){
            cout<<i<<" ";
            sum+=i;
        }
    }
    cout<<endl;
    cout<<sum;
    return 0;
}


0
已采纳
李泽屿
李泽屿
新手启示者
新手启示者

QQ给你了,手表上给点积分~

0
我要回答