在看Java语言程序设计进阶篇这本书,看一下找素数的算法。
具体要求是给出一个数n,打印出小于等于n的所有素数
第一种方法,代码如下 :
Scanner input = new Scanner(System.in);
System.out.print("Find all prime numbers <= n, enter n: ");
int n = input.nextInt();
final int NUMBER_PER_LINE = 10; // Display 10 per line
int count = 0; // Count the number of prime numbers
int number = 2; // A number to be tested for primeness
System.out.println("The prime numbers are:");
// Repeatedly find prime numbers
while (number <= n) {
// Assume the number is prime
boolean isPrime = true; // Is the current number prime?
// ClosestPair if number is prime
for (int divisor = 2; divisor <= (int)(Math.sqrt(number));
divisor++) {
if (number % divisor == 0) { // If true, number is not prime
isPrime = false; // Set isPr