小x的质数

题目描述

小 X 是一位热爱数学的男孩子,在茫茫的数字中,他对质数更有一种独特的情感。小 X 认为,质数是一切自然数起源的地方。

在小 X 的认知里,质数是除了本身和 11 以外,没有其他因数的数字。

但由于小 X 对质数的热爱超乎寻常,所以小 X 同样喜欢那些虽然不是质数,但却是由两个质数相乘得来的数。

于是,我们定义,一个数是小 X 喜欢的数,当且仅当其是一个质数,或是两个质数的乘积。

而现在,小 X 想要知道,在 LL 到 RR 之间,有多少数是他喜欢的数呢?

输入格式

第一行输入一个正整数 QQ,表示询问的组数。

接下来 QQ 行。包含两个正整数 LL 和 RR。保证 L \le RL≤R。

输出格式

输出 QQ 行,每行一个整数,表示小 X 喜欢的数的个数。

数据范围与约定

样例

样例解释 1

66 以内的质数有 2,3,52,3,5,而 4=2 * 2,6 = 2 * 34=2∗2,6=2∗3。因此 2,3,4,5,62,3,4,5,6 都是小 X 喜 欢的数,而 1 不是。

样例输入1

1
1 6

样例输出1

5

样例输入2

10
282 491
31 178
645 856
227 367
267 487
474 697
219 468
582 792
315 612
249 307

样例输出2

97
78
92
65
102
98
114
90
133
29

样例输入3

10
20513 96703
15236 86198
23185 78205
40687 48854
42390 95450
63915 76000
36793 92543
35347 53901
44188 76922
82177 90900

样例输出3

24413
23001
17784
2669
16785
3833
17712
6028
10442
2734

code

 1 #include<cstdio>
 2 #include<cmath>
 3
 4 const int MAXN = 10000100;
 5
 6 bool lk[MAXN],noprime[MAXN];
 7 int prime[MAXN];
 8 int sum[MAXN];
 9
10 int read() {
11     int x = 0,f = 1;char ch = getchar();
12     for (; ch<'0'||ch>'9'; ch = getchar())
13         if (ch=='-') f = -1;
14     for (; ch>='0'&&ch<='9'; ch = getchar())
15         x = x*10+ch-'0';
16     return x*f;
17 }
18
19 int main() {
20
21     int tot = 0;
22
23     for (int i=2; i<=10000000; i++) {
24         if (!noprime[i]) {
25             prime[++tot]=i;
26             lk[i] = true;
27             for (int j=1; j<=tot && i*prime[j]<=10000000; j++) {
28                 noprime[i*prime[j]] = true;
29                 lk[i*prime[j]] = true;
30             }
31         }
32         else {
33             for (int j=1; j<=tot&&i*prime[j]<=10000000; j++) {
34                 noprime[i*prime[j]] = true;
35                 if(i % prime[j] == 0) break ;
36             }
37         }
38     }
39
40     for (int i=1; i<=10000000; ++i) {
41         if (lk[i]) sum[i] = sum[i-1]+1;
42         else sum[i] = sum[i-1];
43     }
44
45     int L,R,q = read();
46     while (q--) {
47         L = read();R = read();
48         printf("%d\n",sum[R]-sum[L-1]);
49     }
50
51     return 0;
52 }

转载于:https://www.cnblogs.com/mjtcn/p/7588708.html

小x的质数(线性O(n)筛素数)相关推荐

  1. 质数 AcWing 868. 筛质数 线性筛

    质数 AcWing 868. 筛质数 原题链接 AcWing 868. 筛质数 算法标签 数学知识 质数 线性筛法筛法求素数 思路 线性筛,保证每个合数只被最小素因子筛掉 (1)当i%primes[j ...

  2. c语言 快速筛质数,快速筛素数(埃式筛+线性筛+Miller_Rabin算法)

    在CF上做到一道核心是需要筛出1~n所有素数的题目,然后刚好又没学过,就学习了快速筛素数的办法,基础的n根号n的算法这里大家每个人都知道吧QAQ,就不讲了,好像还是C语言上机说过的题目. 首先给大家介 ...

  3. F. 1.小W 的质数(prime)[欧拉筛再理解]

    Description 小X是一位热爱数学的男孩子,在茫茫的数字中,他对质数更有一种独特的情感.小X认为,质数是一切自然数起源的地方.  在小X的认知里,质数是除了本身和1以外,没有其他因数的数字.但 ...

  4. 筛选质数,埃氏筛和欧拉筛(线性筛)

    求len之内的所有的素数 除了比较常用的开根号的求法,还有两种更好的方法,埃氏筛和线性筛.其中埃氏筛更好理解,而线性筛(欧拉筛)不好理解但是更快. 埃氏筛 #include <bits/stdc ...

  5. [数学/质数筛] 素数筛法

    Date:2019/10/16?? 其实现在都快1点了,算是16号,啊?? 今天讲了素数的筛法 其实,在很小的数据范围内,不同的算法复杂度是差不多的,但是,如果处理几个数据,算法的作用就没有发挥出来 ...

  6. 质数||素数(分解质因数、筛素数、质数定理)

    质数又称素数.一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数,否则称为合数. 规定1既不是质数也不是合数 分解质因数:把一个合数分解成若干个因数乘积的形式 分解质因数(也称分解 ...

  7. [SDOI2008]沙拉公主的困惑 线性筛 素数+欧拉

    本文为博主原创文章,欢迎转载,请注明出处 www.cnblogs.com/yangyaojia [SDOI2008]沙拉公主的困惑 线性筛 素数+欧拉 题目大意 给定n,m,求在1到n!内与m!互质的 ...

  8. 普及组模板——线性筛素数

    题目:[模板]线性筛素数(洛谷_3383) #include<iostream> #include<cstdio> #include<algorithm> #inc ...

  9. P3383 【模板】线性筛素数

    https://www.luogu.com.cn/problem/P3383 //线性筛法 /* P3383 [模板]线性筛素数 https://www.luogu.com.cn/problem/P3 ...

最新文章

  1. TS中的感叹号和问号的用法
  2. docker-compose command 执行多条指令
  3. 怎么写ERP实施方案?
  4. 《乌合之众》读书笔记(part2)--打动群体心灵的,是传奇中的英雄,而绝非现实中的英雄本身
  5. CF1481F-AB Tree【构造,背包】
  6. 谁是赢家_赢家的真正作品是股东
  7. jQuery插件FontSizer实现自定义动态调整网页文字大小
  8. outlook域用户名怎么填_家谱制作软件怎么做成电子版
  9. 如何产生好的词向量?
  10. eb8000软件怎样上传_威纶通触摸屏 如何上传程序 到电脑需要怎么处理
  11. STM32配合火焰传感器的火灾报警
  12. vs2022 E1696 无法打开 源 文件 “string.h“
  13. CVP0.M24、CVP0.M28、CVZ0.S08插装式单向阀
  14. python 发邮件 带附件
  15. 如何判断一棵二叉树是完全二叉树
  16. 脚本化HTTP——AJax
  17. 软考 - 10 智能家居管理系统
  18. Apache AzKaban 环境搭建与入门使用
  19. Win7-64 重装 Anaconda3
  20. AIX 挂载NFS错误nfsmnthelp: 1831-019之解决

热门文章

  1. 深度学习框架的评估与比较
  2. Android安全开发之安全使用HTTPS
  3. 从今天开始,学习Webpack,减少对脚手架的依赖(下)
  4. mysql 错误记录
  5. mysql对执行结果进行html格式的输出?输出html格式?
  6. java.util.concurrent BlockingQueue详解
  7. Class.forName解析以及使用
  8. switchhosts(本地域名解析)小工具使用
  9. Linux 系统 rpm安装ipvsadm.src.rpm
  10. 15分钟学会MyEclipse导出jar文件再装换成exe可执行文件