package com.tsxs.arithmetic; /** * 计算素数.<br> * 素数(又叫质数):指大于1的自然数(0不是自然数),除了1和它本身外,不能被其他自然数整除的数.<br> * 合数:比1大但不是素数的数.<br> * 1和0既不是素数也不是合数. * 例如:2,3,5,7……<br> * 思路:<br> * 2到操作数的平方根范围中的所有数,不能整除此操作数,则此操作数为素数 * */ public class PrimeNumber { public static void main(String[] args) { int count =0; for(int i = 2; i <= 100;i++){ if(isPrimeNumber(i)){ System.out.print(i+"\t"); count++; if(count % 10 == 0){ System.out.println(); } } } } /** * isPrimeNumber:判断是否为素数 * @param number 操作数 * @return boolean true为素数 * */ static boolean isPrimeNumber(int number){ //判断素数结果 boolean isPrime = true; //求操作数的平方根 double sqrt = Math.sqrt(number); for(int i = 2;i <= sqrt;i++){ //求余为0,即2到操作数的平方根范围中,有数整除它,则为合数,否则为素数 if(number % i == 0){ isPrime = false; } } return isPrime; } }
计算结果,2~100,素数:
2 3 5 7 11 13 17 19 23 29
31 37 41 43 47 53 59 61 67 71
73 79 83 89 97