?? prime.java
字號:
import java.io.*;
class Prime{
private int [] a;
Prime(int n){
a = new int[n<1?1:n];
}
/*
對該程序,計算的最佳方法是:
因為每個非素數都可分解為素數的乘積,故從已經獲得的Prime數組里取出各個數來看是否
能被test整除,同時滿足取出的數字不比test的平方根的ceil大,這是最快的方法,最大限
度的刪除了不必要的測試數字
*/
void getPrimeNumber(){
a[0]=2;
for(int test=3,numOfN=1;numOfN<=a.length-1;test+=2){
int p=3,temp=(int)Math.ceil(Math.sqrt(test));
for(;p<=temp&&test%p!=0;p+=2);
if(p>temp)
a[numOfN++]=test;
}
}
void printPrimeNumber(){
for(int i=1;i<=5;i++){
if(i>a.length)
break;
System.out.println("-"+i+"- "+a[i-1]);
}
if(a.length>10)
System.out.println("...");
for(int i=a.length-4;i<=a.length;i++){
if(i<6)
continue;
System.out.println("-"+i+"- "+a[i-1]);
}
String n_th;
switch(a.length){
case 1 : n_th="first";break;
case 2 : n_th="second";break;
case 3 : n_th="third";break;
default : n_th=Integer.toString(a.length)+"-th";
}
System.out.println("The "+n_th+" prime number is "+a[a.length-1]+".");
}
public static void main(String [] args){
if(args.length==0){
System.out.println("You should supply an argument that indicates the count of prime number");
System.out.println(System.err);
System.exit(0);
}
Prime prime = new Prime(Integer.parseInt(args[0]));
prime.getPrimeNumber();
prime.printPrimeNumber();
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -