原题链接:http://acm.uestc.edu.cn/problems.php?vol=15

分析:首先筛出sqrt(2^31-1)以内的素数,对于给定的区间[L,R],仍然用筛素数的思想把那些是前面筛选出来的素数的倍数的做标记,然后从左到右扫一遍即可。

How many primes

 #include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#define maxn 100005
using namespace std;
int prime[maxn],t;
bool ans[];
bool flag[maxn]={false};
void selprime()
{
t=;
for(int i=;i<=;i++)
{
if(!flag[i])
{
prime[t++]=i;
for(int j=;j*i<=;j++)
flag[i*j]=true;
}
}
}
void solve(int m,int n)
{
for(int i=;i<t;i++)
{
if(prime[i]*>n)break;
int j=m/prime[i];
if(j*prime[i]<m)j++;
j=max(j,);
for(;j*prime[i]<=n;j++)
{
ans[j*prime[i]-m]=false;
}
}
}
int main()
{
int m,n;
selprime();
while(~scanf("%d%d",&m,&n))
{
if(m==)m++;
memset(ans,true,sizeof(ans));
solve(m,n);
int res=;
for(int i=;i<=n-m;i++)
{
if(ans[i])res++;
}
printf("%d\n",res);
}
return ;
}

最新文章

  1. Sqlserver中一直在用又经常被忽略的知识点一
  2. jquery on()
  3. C++设计模式-Mediator中介者模式
  4. 查看apt-get安装软件的版本
  5. sharepoint更新左侧列表的名字
  6. 基于ASP.NET MVC定时执行任务调度
  7. 论文笔记之:Deep Recurrent Q-Learning for Partially Observable MDPs
  8. Linux下squid代理缓存服务环境部署
  9. [Android UI] shape和selector的结合使用
  10. VTK 6.3.0 Qt 5.4 MinGW 4.9.1 Configuration 配置
  11. RAC 集群更换IP
  12. 三级联动(ajax)
  13. Discuz!图片查看插件(支持鼠标缩放、实际大小、旋转、下载)
  14. 闭包(Closures)
  15. python--列表的使用
  16. Ajax.BeginForm返回方法OnSuccess
  17. RAP在Linux 上的部署
  18. 【Android Developers Training】 74. 序言:通过无线连接设备
  19. 如何创建测试程序调试nginx数据结构
  20. (转)CTP: 平昨仓与平今仓,log轻轻告诉你.......

热门文章

  1. HDU-4055:Number String
  2. 一学就会pip换镜像源
  3. ES数据备份到HDFS
  4. conda环境管理
  5. sshpass 指定密码远程 ssh 到服务器 或者 scp 发送文件到服务器
  6. 分布式数据库中间件Mycat百亿级数据存储(转)
  7. 王者荣耀交流协会 - 第6次Scrum会议
  8. 20135313_exp5
  9. Java JDK安装及环境配置
  10. AJAX请求.net controller数据交互过程