链接:https://ac.nowcoder.com/acm/contest/5930/I
来源:牛客网
题目描述
多多知道质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。 现在他想知道在一个闭区间内,有多少个质数?他会询问多次,请你回答他。
输入描述:
第一行输入一个正整数 T,代表询问次数 (1 ≤ T ≤ 100000)接下来 T 行,每行输入两个正整数 a,b 表示查询范围为 [ a,b ] (1 ≤ a ≤ 107,a ≤ b ≤ 107)
输出描述:
对于每次询问,输出一个整数,表示在 [ a,b ] 范围内质数的个数
1.这道题主要是求解素数,数据在1e7,用埃式筛法解决
2.由于有T次询问,因此不能每次都遍历a到b之间的数,应该用一个数组来保存,我看有的大佬用前缀数组维护。。。我这里简化代码,直接用num[]进行维护,便于理解
#include<bits/stdc++.h>
using namespace std;
const int maxn=1e7+10;
bool vis[maxn];
int num[maxn];
void E_sie