C. 偏移素数查询

    传统题 1000ms 256MiB

偏移素数查询

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

偏移素数查询

题目描述

给定一个固定的奇数 DD

若正整数 xx 同时满足以下条件,则称 xx 为一个合格数:

  1. xx 是奇数;
  2. xx 是素数;
  3. (x+D)/2(x+D)/2 是素数。

你需要回答 QQ 次询问。每次询问给出一个闭区间 [l,r][l,r],请输出该区间内合格数的个数。

输入格式

第一行输入两个整数 D,QD,Q,其中 1D999991\le D\le 99999DD 为奇数,1Q1000001\le Q\le 100000

接下来 QQ 行,每行输入两个整数 l,rl,r,表示一次询问,保证 1lr1000001\le l\le r\le 100000

由于只对奇数 xx 判断第三个条件,所有可能出现的 (x+D)/2(x+D)/2 都是不超过 100000100000 的整数。

输出格式

输出 QQ 行。第 ii 行输出第 ii 次询问对应的答案。

输入输出样例 #1

输入 #1

3 3
1 10
5 5
11 31

输出 #1

2
0
4

输入输出样例 #2

输入 #2

5 4
1 20
17 17
1 3
89 100

输出 #2

2
1
0
1

说明/提示

在样例 #1 中,D=3D=3。区间 [1,10][1,10] 内的合格数为 3377,所以第一行答案为 22。虽然 55 是奇素数,但 (5+3)/2=4(5+3)/2=4 不是素数,因此第二行答案为 00

在样例 #2 中,D=5D=5。区间 [1,20][1,20] 内的合格数为 551717

【睿爸信奥】入门组算法周赛(20260815)

未参加
状态
已结束
规则
IOI
题目
4
开始于
2026-8-15 0:00
结束于
2026-8-22 0:00
持续时间
168 小时
主持人
参赛人数
24