#P0082. 试除法判定质数
试除法判定质数
题目描述
给你一个整数 判断它是否是素数。注意 不是素数;
-
素数的定义:若一个正整数无法被除了 和它本身之外的任何自然数整除,则称这个数为质数 或素数,否则该正整数为合数。
-
在整个自然数集合中,素数的个数并不是很多,分布比较稀疏,对于一个整数 ,不超过 的质数大致为 个,即每 个数中大约有 个质数。
-
根据算术基本定理(又名唯一分解定理)我们可知任何一个正整数,可以表述 个或以上的质数的积,例如 为了方便描述,我们把式子简写为 ,其中 和 是 的因子,我们假设 ,那么可得 ,即推导出 也就是说,较小的因子 必然小于或等于 换句话说,如果 有因子,它们中至少有一个因子不大于 。 这样我们在找 的因子时就不需要从 枚举到 了,只需枚举到 我们就可以判断其是否为质数,时间复杂度大幅降低。
输入格式
第一行输入一个整数 ,代表有 个数。
第二行包括以空格间隔开的 个数
输出格式
共 行,如果是素数输出 Yes
, 否则输出 No
。
数据范围
对于 的数据 ,
对于 的数据 ,
输入样例:
5
1 2 3 4 5
输出样例:
No
Yes
Yes
No
Yes
相关
在下列比赛中: