java如何判斷一個(gè)數(shù)是否是素?cái)?shù)(質(zhì)數(shù))
java判斷一個(gè)數(shù)是否是素?cái)?shù)(質(zhì)數(shù))
質(zhì)數(shù)(prime number)又稱素?cái)?shù),有無(wú)限個(gè)
質(zhì)數(shù)定義為在大于1的自然數(shù)中,除了1和它本身以外不再有其他因數(shù),這樣的數(shù)稱為質(zhì)數(shù)。
import java.util.Scanner; public class TestWork { public static void main(String[] args) { boolean isPrime = true; Scanner sc = new Scanner(System.in); System.out.println("請(qǐng)輸入一個(gè)正整數(shù)"); int num = sc.nextInt(); if (num > 0) { int k = (int) Math.sqrt(num);//k為num的正平方根,取整數(shù) for (int i = 2; i <= k; i++) { if (num % i == 0) { isPrime = false;//不是素?cái)?shù) break; } } } if (isPrime) { System.out.println(num + "是素?cái)?shù)"); } else { System.out.println(num + "不是素?cái)?shù)"); } } }
輸出1~1000之間的素?cái)?shù)
思路
偶數(shù)肯定不是素?cái)?shù),所以遞增的時(shí)候可以以奇數(shù)的形式遞增,再在奇數(shù)中去掉非質(zhì)數(shù)的數(shù)。
public class TestWork { public static void main(String[] args) { boolean isPrime = true; int PrimeCount=0; for (int i = 3; i <= 1000; i+=2) { int k = (int) Math.sqrt(i);//k為num的正平方根,取整數(shù) isPrime = true; for (int j = 2; j <= k; j++) { if (i % j == 0) { isPrime = false;//不是素?cái)?shù) break; } } if (isPrime) { PrimeCount++; System.out.print(i+"\t"); if(PrimeCount%5==0){ System.out.println(); } } } } }
java 求1-100之間的質(zhì)數(shù)
質(zhì)數(shù)定義:
質(zhì)數(shù)又稱素?cái)?shù)。一個(gè)大于1的自然數(shù),除了1和它自身外,不能被其他自然數(shù)整除的數(shù)叫做質(zhì)數(shù);否則稱為合數(shù)。
如:2,3,5,7,11…
1、質(zhì)數(shù)實(shí)例一
//1-100之間的質(zhì)數(shù)--------1 public class PrimeNumber { public static void main(String[] args) { for(int i=2;i<=100;i++) { boolean flag=true; for(int j=2;j<i;j++) { if(i%j == 0) { flag=false; break; } } if(flag) { System.out.println("質(zhì)數(shù):i= "+i); } } } }
2、質(zhì)數(shù)實(shí)例二
//1-100之間的質(zhì)數(shù)--------2 public class PrimeNumber { public static void main(String[] args) { for(int i=2;i<=100;i++) { for(int j=2;j<=i;j++) { if(i%j==0 && i!=j) { break; } if(j==i) { System.out.println("質(zhì)數(shù):i= "+i); } } } } }
3、質(zhì)數(shù)實(shí)例三
//1-100之間的質(zhì)數(shù)--------3 public class PrimeNumber { public static void main(String[] args) { for(int i=2;i<=100;i++) { int j=2; while(i%j != 0 ) { j++; } if(j==i) { System.out.println("質(zhì)數(shù):i= "+i); } } } }
4、質(zhì)數(shù)實(shí)例四
//1-100之間的質(zhì)數(shù)--------4 public class PrimeNumber { public static void main(String[] args) { for(int i=2;i<=100;i++) { int j=2; for(;j<=i/2;j++) { if(i%j==0) { break; } } if(j==i/2+1) { System.out.println("質(zhì)數(shù):i= "+i); } } } }
5、質(zhì)數(shù)實(shí)例五
public class PrimeNumber { public static void main(String[] args) { int count=0; for(int i=2;i<=100;i++) { int j=2; for(;j<=(int)Math.sqrt(i);j++) { if(i%j==0) { break; } } if(j==(int)Math.sqrt(i)+1) { System.out.println("質(zhì)數(shù):i= "+i); count++; } } System.out.println("質(zhì)數(shù)個(gè)數(shù):count= "+count); } }
6、質(zhì)數(shù)實(shí)例六
public class PrimeNumber { public static void main(String[] args) { int count1 = 0, count2 = 0; for (int i = 2; i <= 100; i++) { for (int j = 2; j <= Math.sqrt(i); j++) { if (i % j != 0) { //不能被整除累計(jì)一次 count1++; } } // 轉(zhuǎn)為int的類型 int num2 = (int) Math.sqrt(i); //如果累計(jì)次數(shù)num2 - 1個(gè)數(shù)相等則為素?cái)?shù) if (count1 == (num2 - 1) { System.out.println("質(zhì)數(shù): " + i); count2++; } //找到素?cái)?shù)后count1再初始化為0 count1 = 0; } // 統(tǒng)計(jì)素?cái)?shù)個(gè)數(shù) System.out.println("質(zhì)數(shù)個(gè)數(shù):count2= "+count2); } }
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java獲取文件的類型和擴(kuò)展名的實(shí)現(xiàn)方法
這篇文章主要介紹了Java獲取文件的類型和擴(kuò)展名的實(shí)現(xiàn)方法的相關(guān)資料,需要的朋友可以參考下2017-02-02SpringMVC文件上傳請(qǐng)求問(wèn)題分析
這篇文章主要介紹了SpringMVC文件上傳請(qǐng)求,我們發(fā)的請(qǐng)求默認(rèn)都是由DispatcherServlet類的doDispatch()來(lái)處理,這個(gè)方法的邏輯處理的第一步就是處理文件上傳的請(qǐng)求,我們一起來(lái)看看是怎么處理的吧2024-07-07springboot 自定義異常并捕獲異常返給前端的實(shí)現(xiàn)代碼
在開(kāi)發(fā)中,如果用try catch的方式,每個(gè)方法都需要單獨(dú)實(shí)現(xiàn),為了方便分類異常,返回給前端,采用了@ControllerAdvice注解和繼承了RuntimeException的方式來(lái)實(shí)現(xiàn),具體實(shí)現(xiàn)內(nèi)容跟隨小編一起看看吧2021-11-11JDK-StringJoiner構(gòu)造及添加元素源碼分析
這篇文章主要為大家介紹了JDK-StringJoiner構(gòu)造及添加元素源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07Maven項(xiàng)目外部jar包導(dǎo)入的實(shí)現(xiàn)示例
在Maven項(xiàng)目里,我們經(jīng)常需要導(dǎo)入jar包依賴,本文主要介紹了Maven項(xiàng)目外部jar包導(dǎo)入的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2024-08-08解決dubbo錯(cuò)誤ip及ip亂入問(wèn)題的方法
今天小編就為大家分享一篇關(guān)于解決dubbo錯(cuò)誤ip及ip亂入問(wèn)題的方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-03-03java實(shí)現(xiàn)圖片上傳至本地實(shí)例詳解
我們給大家分享了關(guān)于java實(shí)現(xiàn)圖片上傳至本地的實(shí)例以及相關(guān)代碼,有需要的朋友參考下。2018-08-08Java中Easyexcel?實(shí)現(xiàn)批量插入圖片功能
這篇文章主要介紹了Easyexcel?實(shí)現(xiàn)批量插入圖片,本文通過(guò)實(shí)例代碼給大家介紹了easyexcel文檔處理工具、自定義圖片處理器的相關(guān)知識(shí),需要的朋友可以參考下2022-04-04

SpringCloudGateway使用Skywalking時(shí)日志打印traceId解析