题目描述

区间质数个数

输入输出格式

输入格式:

一行两个整数 询问次数n,范围m

接下来n行,每行两个整数 l,r 表示区间

输出格式:

对于每次询问输出个数 t,如l或r∉[1,m]输出 Crossing the line

题目解析

素数筛 + 前缀和,筛的过程中处理前缀和,感觉很有趣的思路。

Code

#include<iostream>
#include<cstdio>
using namespace std; const int MAXN = + ;
const int MAXM = + ; int n,m,l,r;
int a[MAXM],vis[MAXM]; inline int rd() {
int x=,f=;char ch=getchar();
while(!isdigit(ch)) {f=(ch=='-')?-:;ch=getchar();}
while(isdigit(ch)) {x=x*+ch-'';ch=getchar();}
return x*f;
} inline void find_prime() {
a[] = ;
vis[] = true;
for(int i = ;i <= m;i++) {
if(!vis[i]) {
a[i] = a[i-] + ;
for(int j = i+i;j <= m;j = j+i) vis[j]=true;
} else a[i] = a[i-];
}
return;
} int main() {
scanf("%d%d",&n,&m);
find_prime();
while(n--) {
l = rd(), r = rd();
if(l < || m < r) {
puts("Crossing the line");
continue;
}
printf("%d\n",a[r]-a[l-]);
}
return ;
}

最新文章

  1. SQL Server监控报警架构_如何添加报警
  2. linux mysql-5.6.26 安装
  3. 如何让同局域网的同事访问我电脑上的PHP网站和数据库
  4. struts2结果(Result)
  5. NOIP201103瑞士轮【B002】
  6. simplefactory简单工厂模式
  7. STM32 UART 重映射
  8. android学习日记13--数据存储之File存储
  9. WordPress 前端投稿/编辑插件 DJD Site Post(支持游客和已注册用户)
  10. JS添加删除一组文本框并对输入信息加以验证
  11. 网页播放音频、视频文件——基于web的html 5的音乐播放器(转载)
  12. Ubuntu: 搭建tftp,nfs服务器
  13. 黄聪:Microsoft Enterprise Library 5.0 系列教程(十) Configuration Application Block
  14. Web前端框架与类库
  15. stm32 RAM分配及占有(转)
  16. celldb.cc
  17. js原生API妙用(一)
  18. ElasticSearch入门 第一篇:Windows下安装ElasticSearch
  19. JS实现页面字体繁简转换
  20. C++ STL--queue 的使用方法

热门文章

  1. UI:归档、反归档、数据持久化
  2. 浅谈JAVA中如何利用socket进行网络编程(二)
  3. 2-3 Windows下一站式开发环境anaconda搭建
  4. hdu4604 Deque(最长上升子序列变形)
  5. bzoj 5281: [Usaco2018 Open]Talent Show【dp】
  6. bzoj 4080: [Wf2014]Sensor Network【瞎搞+随机化】
  7. bzoj 4585: [Apio2016]烟火表演【左偏树】
  8. WebSphere中数据源连接池太小导致的连接超时错误记录
  9. Android 线程池系列教程(2)Thread,Runnable是基类及如何写Run方法
  10. Oracle函数大全下载