素?cái)?shù)又稱質(zhì)數(shù),有無(wú)限個(gè)。素?cái)?shù)定義為在大于1的整數(shù)中,除了1和它本身以外不再有其他因數(shù)的數(shù)稱為素?cái)?shù)。
為雞西梨樹(shù)等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及雞西梨樹(shù)網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)、雞西梨樹(shù)網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
java程序找出2-100之間的所有素?cái)?shù),代碼如下:
public void findPrimeNumber(){
//存放素?cái)?shù)集合
ListInteger lists=new ArrayListInteger();
//遍歷2-100
for(int x=2;x100;x++){
//標(biāo)志是否為素?cái)?shù),默認(rèn)是true
boolean flag=true;
//循環(huán)x除以(x/2)的數(shù),能整除則不是是素?cái)?shù)(不包含2)
for(int y=2;yx/2;y++){
if(x%y==0){
//能整除,則把標(biāo)志設(shè)置為false,不是素?cái)?shù)
flag=false;
break;
}
}
if(flag){
//flag還是true,則是素?cái)?shù)
lists.add(x);
}
}
System.out.println("2-100的素?cái)?shù)集合:"+lists);
}
結(jié)果:
2-100的素?cái)?shù)集合:[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]
如果for循環(huán)完成后,j的值大于或等于i,說(shuō)明i就是素?cái)?shù),所以有這個(gè)判斷。判斷成功后,素?cái)?shù)總數(shù)加1,輸出這個(gè)素?cái)?shù)。判定為素?cái)?shù)的原因就是比i小的數(shù)都不能除盡他。
import java.util.*;
class Test {
public static void main(String[] args) {
System.out.println("請(qǐng)輸入要進(jìn)行判斷的整數(shù):");
Scanner sc = new Scanner(System.in);
int number = sc.nextInt();
System.out.println("您輸入的整數(shù)是:" + number);
if(isPrimeNumber(number)) {
System.out.println("您輸入的數(shù)" + number + "是素?cái)?shù)。");
} else {
System.out.println("您輸入的數(shù)" + number + "不是是素?cái)?shù)。");
}
}
//判斷素?cái)?shù)的靜態(tài)方法
public static boolean isPrimeNumber(int num) {
boolean flag = true;
if(num == 2) {
return flag;
}
for(int i = 1; i Math.sqrt(num); i++) {
if(num % 2 == 0) {
flag = false;
break;
}
}
return flag;
}
}
寫(xiě)了一個(gè),不知道滿足你的要求不?
輸出前500個(gè)素?cái)?shù)
其中
for
(int
i
=
2;
i
=
math.sqrt(k);
i++)
從2開(kāi)始,1不用比較,如果還有另外一個(gè)不是他本身的數(shù)可以整除他,那他就不是素?cái)?shù)
math.sqrt(k)
是原先一個(gè)人提出的算法,加大效率的,你可以測(cè)試看看
已經(jīng)按照你的要求用到了while和if
else
下面的朋友···別人說(shuō)要用什么寫(xiě)就用什么寫(xiě)···有時(shí)候按要求去就好了
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;
}
}
}
文章名稱:素?cái)?shù)的java代碼 java中素?cái)?shù)的算法
地址分享:http://muchs.cn/article24/doeioje.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、動(dòng)態(tài)網(wǎng)站、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站維護(hù)、云服務(wù)器、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)