#T77092. 埃氏筛法

0

埃氏筛法

# 埃氏筛法

题目背景

埃拉托斯特尼筛法(The Sieve of Eratosthenes)简称埃氏筛法,是一种由古希腊数学家埃拉托斯特尼提出的,用于找出一定范围内所有质数的算法。

题目描述

利用埃氏筛法筛选出 1 到 10^7 范围内的所有质数,然后处理 n 次查询,每次查询一个数 t,判断 t 是否为质数。

埃氏筛法的基本思想是:

  1. 从 2 开始,将每个质数的倍数标记为非质数
  2. 对于每个未标记的数,将其标记为质数
  3. 重复以上过程,直到遍历到 √max

输入格式

第一行输入一个整数 n,表示查询次数(1 ≤ n ≤ 10^5)。

接下来 n 行,每行一个整数 t,表示要查询的数(1 ≤ t ≤ 10^7)。

输出格式

对于每次查询,输出一行。如果 t 是质数,输出 yes;否则输出 no。

输入输出样例

3
2
3
4
yes
yes
no
5
1
10
100
1000
10000
no
no
no
no
yes

说明/提示

对于 100% 的数据,保证 1 ≤ n ≤ 10^5,1 ≤ t ≤ 10^7。

提示:使用埃氏筛法预处理所有质数可以高效处理大量查询。