参考代码:
#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 人评分