参考代码:
#include<iostream>
#include<cmath>
using namespace std;
int a[2000010];
int main(){
long long sum=0;
int n;
cin>>n;
//用埃氏筛选法选出前n个数是素数的数
for(int i=2;i<=sqrt(n);i++){
for(int j=i*i;j<=n;j+=i){
//将数组下标不是素数的元素赋值为1
a[j]=1;
}
}
//累计求和
for(int i=2;i<=n;i++){
if(a[i]==0){
sum+=i;
}
}
cout<<sum<<endl;
return 0;
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:542 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:535 |
用筛法求之N内的素数。 (C++代码)浏览:693 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:544 |
单词个数统计 (C语言代码)浏览:1012 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:514 |
青年歌手大奖赛_评委会打分 (C语言代码)浏览:2149 |
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:529 |
C语言程序设计教程(第三版)课后习题6.8 (C语言代码)浏览:657 |
素数的个数 一直是超时浏览:668 |