當前位置:編程學習大全網 - 編程語言 - 求壹個用java編寫的1到100內的素數,並且每行輸出5個素數

求壹個用java編寫的1到100內的素數,並且每行輸出5個素數

public class Test {

public static void main(String[] args) {

int i, count = 0;

for(i=2; i<=100; i++){

if(isPrimeNumber(i) == true){

count++;

System.out.printf("%6d", i);

if(count%5 == 0){

System.out.println();

}

}

}

//判斷壹個數是否是素數,若是,返回true,否則返回false

public static boolean isPrimeNumber(int num){

int k = (int) Math.sqrt(num);

if(num == 2){

return true;

for(int i=2; i<=k; i++)

if(num%i == 0)

return false;

return true;

}

}

擴展:

質數又稱素數。壹個大於1的自然數,除了1和它自身外,不能被其他自然數整除的數叫做質數;否則稱為合數。

質數的個數是無窮的。歐幾裏得的《幾何原本》中有壹個經典的證明。它使用了證明常用的方法:反證法。具體證明如下:假設質數只有有限的n個,從小到大依次排列為p1,p2,……,pn,設N=p1×p2×……×pn,那麽,

是素數或者不是素數。

如果

為素數,則

要大於p1,p2,……,pn,所以它不在那些假設的素數集合中。

如果 為合數,因為任何壹個合數都可以分解為幾個素數的積;而N和N+1的最大公約數是1,所以不可能被p1,p2,……,pn整除,所以該合數分解得到的素因數肯定不在假設的素數集合中。因此無論該數是素數還是合數,都意味著在假設的有限個素數之外還存在著其他素數。所以原先的假設不成立。也就是說,素數有無窮多個。

其他數學家給出了壹些不同的證明。歐拉利用黎曼函數證明了全部素數的倒數之和是發散的,恩斯特·庫默的證明更為簡潔,哈裏·弗斯滕伯格則用拓撲學加以證明。

  • 上一篇:asp循環結果如何調用
  • 下一篇:Excelvba編程語法
  • copyright 2024編程學習大全網