/** * * @author Administrator * @version 1.0 素数判断 */ public class PrimeNumber { /** * 主方法 * * @param args * primenum:随机的10000以内的整数 primenumTmp 最接近随机数的开方的整数*primenumTmp1 * 随机数的开方取整+1 * */ public static void main(String[] args) { int primenum = (int) (Math.random() * 10000); System.out.println("随机数为" + primenum); int primenumTmp = (int) (Math.sqrt(primenum)); int primenumTmp1 = primenumTmp + 1; System.out.println("随机数开方1为" + primenumTmp); System.out.println("随机数开方2为" + primenumTmp1); if (primenumTmp - Math.sqrt(primenum) < Math.sqrt(primenum) - primenumTmp1) { primenumTmp = primenumTmp1; } System.out.println("随机数开方为" + Math.sqrt(primenum)); System.out.println("最接近的随机数开方为" + primenumTmp); System.out.println("随机数/最接近的随机数开方为" + (float) primenum / (float) primenumTmp); /* * 取整数相除 */ boolean isP = true; for (int i = 2; i < primenumTmp; i++) { if (primenum % i == 0) { System.out.println(primenum + "不是素数"); isP = false; break; } } if (isP == true) { System.out.println(primenum + "是素数"); /* * isP为判断是否是素数, */ } } }