问题描述:在控制台输出前50个素数,每行10个。
步骤:
1、从2开始判断给定的数是否是素数(判断它是否能被2,3,4到number/2的整数整除,若能则不是素数)。
2、统计素数个数。
3、打印。
while(count<NUMBER_OF_PRIME){
判断number是否素数;
If(素数)
输出number并将计数器+1;
number++;
}
使用布尔变量isPrime表示number是否素数,初值为true;
For(int divisor=2;divisor<=number/2;divisor++){
If(number%divisor==0){
将isprime置为false;
退出循环;
}
}
程序清单:
public class PrimeNumber{
public static void main(String[] args){
System.out.println("The first 50 prime numbers are");
final int NUMBER_OF_PRIMES = 50;
int count = 0,number = 2;
while(count<NUMBER_OF_PRIMES)
{
boolean isPrime = true;
for(int divisor=2;divisor<=number/2;divisor++){
if(number%divisor==0){
isPrime = false;
break;
}
}
if(isPrime){
count++;
if(count%10==0)
System.out.println(" "+number);
else
System.out.printf("%5d",number);
}
number++;
}
}
}