public class Test {
專注于為中小企業(yè)提供網(wǎng)站設(shè)計、成都網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)尼瑪免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
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();
}
}
}
//判斷一個數(shù)是否是素數(shù),若是,返回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;
}
}
擴(kuò)展:
質(zhì)數(shù)又稱素數(shù)。一個大于1的自然數(shù),除了1和它自身外,不能被其他自然數(shù)整除的數(shù)叫做質(zhì)數(shù);否則稱為合數(shù)。
質(zhì)數(shù)的個數(shù)是無窮的。歐幾里得的《幾何原本》中有一個經(jīng)典的證明。它使用了證明常用的方法:反證法。具體證明如下:假設(shè)質(zhì)數(shù)只有有限的n個,從小到大依次排列為p1,p2,……,pn,設(shè)N=p1×p2×……×pn,那么,
是素數(shù)或者不是素數(shù)。
如果
為素數(shù),則
要大于p1,p2,……,pn,所以它不在那些假設(shè)的素數(shù)集合中。
如果 為合數(shù),因為任何一個合數(shù)都可以分解為幾個素數(shù)的積;而N和N+1的最大公約數(shù)是1,所以不可能被p1,p2,……,pn整除,所以該合數(shù)分解得到的素因數(shù)肯定不在假設(shè)的素數(shù)集合中。因此無論該數(shù)是素數(shù)還是合數(shù),都意味著在假設(shè)的有限個素數(shù)之外還存在著其他素數(shù)。所以原先的假設(shè)不成立。也就是說,素數(shù)有無窮多個。
其他數(shù)學(xué)家給出了一些不同的證明。歐拉利用黎曼函數(shù)證明了全部素數(shù)的倒數(shù)之和是發(fā)散的,恩斯特·庫默的證明更為簡潔,哈里·弗斯滕伯格則用拓?fù)鋵W(xué)加以證明。
for(int?i?=2;i=100;i++)
{
flag=true?;?//每次都要有這個初值,如果不是,則flag會變成false
for(int?j=2;ji;j++)
{
if(i%j==0)
{
flag?=false;
break;
}
}
if(flag)
{
icount++;
System.out.println(i+"是素數(shù)!");
}
}
public?class?HelloWorld?{
public?static?void?main(String[]?args)?{
System.out.println("請輸入一個正整數(shù)n");
Scanner?input?=?new?Scanner(System.in);
int?n?=?input.nextInt();
for?(int?i?=?2;?i?=?n;?i++)?//?1不是素數(shù),所以直接從2開始循環(huán)
{
int?j?=?2;
while?(i?%?j?!=?0)?{
j++;?//?測試2至i的數(shù)字是否能被i整除,如不能就自加
}
if?(j?==?i)
//當(dāng)有被整除的數(shù)字時,判斷它是不是自身,若是,則說明是素數(shù)
{
System.out.println(i);?//?如果是就打印出數(shù)字
}
}
}
}
樓主的程序略有誤,下為修改后的代碼
public class Test {
public static void main(String[] args) {
int i =1,j =2;
for(i=1;i=100;i++) {
for(j=2;j=i;j++){
//素數(shù)是指除了1和自身外不能被任何數(shù)整除的數(shù)
//因此遍歷每一個小于i大于2的整數(shù)j
if(i%j==0)
//如果i能夠被j整除
if(i==j)
//如果當(dāng)i等于j的時候則滿足i是素數(shù)的條件,即只能被1(
//j是從2計數(shù)的)和自身整除,因此i是素數(shù)
System.out.println(i +"是素數(shù)");
else
//在如果存在一個小于i大于2的整數(shù)j可以整除i,則i必不是
//素數(shù),因此break操作.
break;//如果i可以被j整除且j不等于i,則跳出循環(huán)
}
}
}
}
親測可用..
判斷素數(shù)方法,你供參考,代碼如下:
public?class?SuNum?{
public?static?void?main(String[]?args)?{
if(getResult(4)){
System.out.println("素數(shù)");
}else{
System.out.println("非素數(shù)");
}
}
public?static?boolean?getResult(int?num)?{
boolean?isPrime?=?true;?//?定義布爾變量判斷是否素數(shù).是:true;否:false
int?k?=?(int)?Math.sqrt(num);
for?(int?j?=?2;?j?=?k;?j++)?{
if?(num?%?j?==?0)?{
isPrime?=?false;?//?如果能夠有數(shù)整除num,那么就不是素數(shù).
}
}
if?(isPrime)?{
isPrime?=?true;
}
return?isPrime;
}
}
滿意請采納!
加一個flag吧。
public?class?Prime03?{
public?static?void?main(String[]?args){
System.out.println("該程序是求6后面的一個素數(shù)");
int?i;
int?j;
for(i=6;;i++){
boolean?flag?=?true;
for(j=2;j=i/2;j++){
if(i%j==0){
flag?=?false;
break;
}else?if(i%j!=0){
continue;
}else{
break;
}
}
if(flag)?{
System.out.println(i);
break;
}
}
}
}
網(wǎng)站欄目:java中素數(shù)代碼 素數(shù)java語言程序編寫
本文鏈接:http://jinyejixie.com/article40/dosdjho.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、手機(jī)網(wǎng)站建設(shè)、微信公眾號、營銷型網(wǎng)站建設(shè)、做網(wǎng)站、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)