题解 | #判断质数#
判断质数
https://www.nowcoder.com/practice/4d2a100c2e544f56ac1ad17e9ffa107d
import java.util.Scanner; public class Main { public static void main(String[] args) { Main main = new Main(); Scanner scan = new Scanner(System.in); int number = scan.nextInt(); System.out.println(main.isPrimeNumber(number)); } public Boolean isPrimeNumber(int number) { //判断非偶数 if (number != 2 && number % 2 == 0) return false; //10以上的数 else if (number > 10) { /*根式相除法,找到距离number平方根最近的整数i, **用小于等于i的质数与number相除 */ for (int i = 3; i < Math.sqrt(number) + 1; i += 2) { if (number % i == 0) { return false; } } } else { //个位数用字符匹配 String a = Integer.toHexString(number); if (a.matches("[2357]")) { return true; } else return false; } return true; //write your code here...... } }