算法提高 素数求和 ——筛法求素数
来源:互联网 发布:二少捏脸数据 网盘 编辑:程序博客网 时间:2024/05/16 18:41
问题描述
输入一个自然数n,求小于等于n的素数之和
样例输入
2
样例输出
2
数据规模和约定
测试样例保证 2 <= n <= 2,000,000
数据量比较大,用函数判断肯定超时,用筛法求素数可以大大提高速度,即当i为素数时,给定小于等于n范围内i的倍数全是和数。
#include <iostream> #include <cstring> using namespace std; int isprime[2000001];//用数组盛放每个数是否是素数,-1表示是,0表示不是int main() {memset(isprime,-1,sizeof(isprime));//初始化都为-1int n;long long sum=0;//一定要用long longcin>>n;for(int i=2;i<=n;i++)if(isprime[i]==-1){sum+=i;for(int j=2;j*i<=n;j++)//筛法isprime[i*j]=0;}cout<<sum<<endl; return 0; }
1 0
- 算法提高 素数求和 ——筛法求素数
- 算法提高 素数求和
- 算法提高 素数求和
- 算法提高 素数求和
- 蓝桥杯 ADV-184 算法提高 素数求和
- 算法提高 ADV-184 素数求和
- 算法题-素数求和
- 算法提高 素数判断
- 算法——筛法求素数
- nyoj——22素数求和问题
- 找找感觉——素数求和问题
- 素数求和
- 素数求和
- 素数求和
- 素数求和
- 素数求和
- 素数求和
- 素数求和
- HashSet TreeSet LinkedHashSet 区别
- C++——传引用调用
- String类的概述及常见方法使用
- pat1011-1020
- CENTOS中文件新建、删除、移动、复制等命令
- 算法提高 素数求和 ——筛法求素数
- ubuntu安装搜狗输入法
- 程序员写博客的意义
- 设置 navigationbar 设置为透明呢, 但是返回按钮不透明
- HttpClient网络框架详解
- 课堂笔记_图形学网格概述
- HDOJ 3790 最短路径问题(双关键字最短路)
- hadoop权威指南笔记-hdfs-1
- 矩阵最小路径和