【NOIP2011模拟9.20】素数密度
2016-04-13 20:38
309 查看
Description
求区间[l~r]中素数的个数。r-l+1<=10^6 l,r<2^31
Solution
呵呵了。刷出maxl−−−−√\sqrt{maxl}中所有的素数,然后再用这一坨素数去刷l~r这个区间。没有了,大水题。
为什么我开50000过不了!
逼我开100000!
Code
#include<cstdio> #include<cmath> #define fo(i,a,b) for(int i=a;i<=b;i++) #define N 1000005 #define M 100000 using namespace std; bool f[M+5],g ; int l,r,ans; int main() { f[1]=1; fo(i,2,sqrt(M)) if (!f[i]) fo(j,2,M/i) f[i*j]=1; scanf("%d%d",&l,&r); if (r<=M) { fo(i,l,r) if (!f[i]) ans++; printf("%d",ans);return 0; } if (l<=M) { fo(i,l,M) if (!f[i]) ans++; l=M+1; } fo(i,1,M) if (!f[i]) fo(j,l/i,r/i) g[i*j-l+1]=1; fo(i,1,r-l+1) if (!g[i]) ans++; printf("%d",ans); }
相关文章推荐
- 18.ssh远程双向无密码登陆
- Android的Bitmap的一些知识点
- Linux 下安装ClamAV查毒软件
- Windows下C语言单线程socket通信
- FragmentTransaction.replace()不移除之前的fragment
- 【经典算法】:判断某点是否在某线性区域内
- 前端学习总结(十三)前端模块化
- OpenGL基础图形编程(十)真实感图形基本概念
- 栈——数组实现
- STM32F10x命名规则
- ddd
- LeetCode31:Next Permutation
- clicaptcha中文点击验证码开发经验总结
- 17.KVM安装之虚拟磁盘,安装脚本
- 文本和字体
- NoSql数据库使用心得
- ZOJ 3715 投票选国王 (枚举+贪心+模拟)
- 从一个点云里面创建一个深度图
- LeetCode笔记:171. Excel Sheet Column Number
- Delphi 10.1 柏林更新内容简译