题目描述
质数:在大于一的整数中,如果只包含一和本身这两个约数,就被称为质数,也可以叫做素数(老版本叫法)
约数都是成对出现的,所以只需要枚举每一对中较小的那一个,就可以将时间复杂度从O(n)降到O(sqrt(n));
i <= n / i
样例
/***
*试除法
*
*质数:在大于一的整数中,如果只包含一和本身这两个约数,就被称为质数,也可以叫做素数(老版本叫法)
*
* 约数都是成对出现的,所以只需要枚举每一对中较小的那一个,就可以将时间复杂度从O(n)降到O(sqrt(n));
*/
import java.util.*;
public class Main{
static int n ;
public static boolean find(int n){
if(n < 2) return false;
for(int i = 2 ; i <= n / i ; i ++){
if(n % i == 0) return false;
}
return true;
}
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
n = scan.nextInt();
while(n -- > 0){
int a = scan.nextInt();
if(find(a)) System.out.println("Yes");
else System.out.println("No");
}
}
}