这一题要求判断质数,属于数论基础

首先我们要明确什么是质数,通常只能被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;
	}
	

}