这一题要求判断质数,属于数论基础
首先我们要明确什么是质数,通常只能被1和自身整除的并且要大于1的数,注意要求大于1
我们可以创建一个方法用来做质数判断
for循环部分没有什么好说的,只要在2到其开根之间都不能整除,那么就是质数。
主要是要注意,由于n==1||2||3时,无法执行for循环,必须要特判才行
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner=new Scanner(System.in);
long n=scanner.nextLong();
if(zhishu(n)) {
System.out.println("Yes");
}else {
System.out.println("No");
}
}
public static boolean zhishu(long n) {
if(n==2||n==3) {
return true;
}
if(n==1) {
return false;
}
for (int i = 2; i <= Math.sqrt(n); i++) {
if(n%i==0)return false;
}
return true;
}
}



京公网安备 11010502036488号