1-1试除法判断质数
算法思想
算法模板
java
import java.util.Scanner;
public class Main {
static int N = 100010;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
while(n -- > 0)
{
int a = sc.nextInt();
if(isPrime(a)) System.out.println("Yes");
else System.out.println("No");
}
}
public static boolean isPrime(int x)
{
if(x < 2) return false;
// 不推荐使用 sqrt 函数,该函数比较耗时
// 不推荐使用 i * i <= a 这种写法,存在溢出风险
// 假如 a = INT_MAX - 100,存在 i * i == a,
// (i + 1) * (i + 1)有可能大于 INT_MAX,导致溢出
// 推荐写法如下
for(int i = 2; i <= x / i; i ++ )
{
if(x % i == 0) return false;
}
return true;
}
}
