輸出前500個素數
創新互聯于2013年創立,先為衛東等服務建站,衛東等地企業,進行企業商務咨詢服務。為衛東企業網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。
其中
for
(int
i
=
2;
i
=
math.sqrt(k);
i++)
從2開始,1不用比較,如果還有另外一個不是他本身的數可以整除他,那他就不是素數
math.sqrt(k)
是原先一個人提出的算法,加大效率的,你可以測試看看
已經按照你的要求用到了while和if
else
下面的朋友···別人說要用什么寫就用什么寫···有時候按要求去就好了
class
a
{
public
static
void
main(string
arg[])
{
int
num
=
0;
int
k=2;
while
(num
500)
{
if
(isprime(k))
{
system.out.print(k
+
"
");
num++;
}
k++;
}
}
public
static
boolean
isprime(int
k)
{
if
(k
==
2)
return
true;
else
if
(k
%
2
==
0)
return
false;
else
{
for
(int
i
=
2;
i
=
math.sqrt(k);
i++)
if
(k
%
i
==
0)
return
false;
return
true;
}
}
}
素數又稱質數,有無限個。素數定義為在大于1的整數中,除了1和它本身以外不再有其他因數的數稱為素數。
java程序找出2-100之間的所有素數,代碼如下:
public void findPrimeNumber(){
//存放素數集合
ListInteger lists=new ArrayListInteger();
//遍歷2-100
for(int x=2;x100;x++){
//標志是否為素數,默認是true
boolean flag=true;
//循環x除以(x/2)的數,能整除則不是是素數(不包含2)
for(int y=2;yx/2;y++){
if(x%y==0){
//能整除,則把標志設置為false,不是素數
flag=false;
break;
}
}
if(flag){
//flag還是true,則是素數
lists.add(x);
}
}
System.out.println("2-100的素數集合:"+lists);
}
結果:
2-100的素數集合:[2, 3, 4, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
代碼如下,不過并不是傳統的求素數的方法。
public?class?Test{
public?static?void?main(String[]?args){
int[]?c?=?new?int[1000];
for(int?i=0;?i1000;?i++)
c[i]=0;//先將所有值初始化為0
for(int?i=2;?i500;?i++)
for(int?j=2;?i*j1000;?j++)
c[i*j]=1;//如果值發生改變說明不是素數
for(int?i=100;?i1000;?i++)
if(c[i]==0)
System.out.print(i+"?");
}
}
輸出結果如下:
當前題目:java素數的代碼 java素數和代碼
分享URL:http://newbst.com/article6/doipiig.html
成都網站建設公司_創新互聯,為您提供網站導航、App開發、網站改版、靜態網站、面包屑導航、全網營銷推廣
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯