判断是不是素数题目
输入在第一行给出一个正整数N(≤ 10),随后N行,每行给出一个小于231的需要判断的正整数。对每个需要判断的正整数,如果它是素数,则在一行中输出Yes,否则输出No。
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan =new Scanner(System.in); int n=scan.nextInt(); boolean isPrime = true; for(int i=0;i<n;i++){ int num=scan.nextInt(); if (num == 2) { isPrime = true; } else if (num < 2 || num % 2 == 0) { isPrime = false; }else{ for (int j = 3; j <= Math.sqrt(num);j += 2) { if (num % j == 0) { // 能被整除,不是素数 isPrime = false; break; // 提前退出循环,优化效率 } } } if(isPrime){ System.out.println("Yes"); }else{ System.out.println("No"); } } } }