使用java判斷101-200之間有多少個素數(shù)并輸出
在編程中,處理數(shù)學問題是一個常見的任務(wù)。本文將介紹如何使用Java語言來判斷101到200之間的整數(shù)中有多少個是素數(shù),并輸出這些素數(shù)。素數(shù)是指在大于1的自然數(shù)中,除了1和它本身以外不再有其他因數(shù)的數(shù)。
什么是素數(shù)
素數(shù)(Prime number)是只有兩個正因子(1和自己)的自然數(shù),且必須大于1。例如,5是一個素數(shù),因為它只能被1和5整除;而4不是素數(shù),因為它可以被1、2和4整除。
Java代碼實現(xiàn)
下面是一個簡單的Java程序,用于找出并打印101到200之間的所有素數(shù):
public class PrimeNumbers {
public static void main(String[] args) {
int count = 0; // 計數(shù)器,用于統(tǒng)計素數(shù)的數(shù)量
for (int i = 101; i <= 200; i++) {
if (isPrime(i)) {
System.out.println(i);
count++;
}
}
System.out.println("101到200之間共有 " + count + " 個素數(shù)。");
}
// 判斷一個數(shù)是否為素數(shù)的方法
private static boolean isPrime(int num) {
if (num <= 1) {
return false;
}
for (int i = 2; i <= Math.sqrt(num); i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
}代碼解析
主方法 (main 方法):
- 定義了一個計數(shù)器 ?
?count?? 來記錄找到的素數(shù)數(shù)量。 - 使用 ?
?for?? 循環(huán)遍歷101到200之間的每一個數(shù)字。 - 對每個數(shù)字調(diào)用 ?
?isPrime?? 方法檢查是否為素數(shù)。 - 如果是素數(shù),則打印該數(shù)字并將計數(shù)器加一。
- 最后,輸出總共找到了多少個素數(shù)。
判斷素數(shù)的方法 (isPrime 方法):
- 首先檢查數(shù)字是否小于或等于1,如果是,則返回 ?
?false??,因為1及以下的數(shù)不是素數(shù)。 - 使用一個 ?
?for?? 循環(huán)從2開始到該數(shù)字的平方根進行迭代。選擇平方根作為上限是因為如果一個數(shù)不是素數(shù),那么它必定有一個小于或等于其平方根的因數(shù)。 - 在循環(huán)中,如果發(fā)現(xiàn)任何能整除該數(shù)字的數(shù),則返回 ?
?false??。 - 如果循環(huán)結(jié)束后沒有發(fā)現(xiàn)能整除的數(shù),則返回 ?
?true??,表示該數(shù)字是素數(shù)。
運行結(jié)果
當你運行上述Java程序時,它會輸出101到200之間的所有素數(shù)以及這些素數(shù)的總數(shù)。
方法補充
方法一
下面是一個用Java編寫的示例程序,用于判斷101到200之間的素數(shù),并輸出這些素數(shù)及其總數(shù)。
public class PrimeNumbers {
public static void main(String[] args) {
int start = 101;
int end = 200;
int count = 0;
System.out.println("Prime numbers between " + start + " and " + end + " are:");
for (int i = start; i <= end; i++) {
if (isPrime(i)) {
System.out.println(i);
count++;
}
}
System.out.println("Total prime numbers between " + start + " and " + end + ": " + count);
}
// 判斷一個數(shù)是否為素數(shù)
public static boolean isPrime(int num) {
if (num <= 1) {
return false;
}
for (int i = 2; i <= Math.sqrt(num); i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
}代碼解釋
主類和主方法:
- ?
?PrimeNumbers?? 是主類。 - ?
?main?? 方法是程序的入口點。
變量定義:
- ?
?start?? 和 ??end?? 分別定義了要檢查的范圍(101到200)。 - ?
?count?? 用于記錄找到的素數(shù)數(shù)量。
循環(huán)遍歷范圍內(nèi)的每個數(shù):
- 使用 ?
?for?? 循環(huán)從 ??start?? 到 ??end?? 遍歷每個數(shù)。 - 對于每個數(shù),調(diào)用 ?
?isPrime?? 方法判斷其是否為素數(shù)。
判斷素數(shù)的方法:
- ?
?isPrime?? 方法接受一個整數(shù) ??num?? 作為參數(shù)。 - 如果 ?
?num?? 小于或等于1,則返回 ??false??(因為1及以下的數(shù)不是素數(shù))。 - 使用 ?
?for?? 循環(huán)從2到 ??sqrt(num)?? 檢查是否有任何數(shù)能整除 ??num??。如果有,則 ??num?? 不是素數(shù),返回 ??false??。 - 如果沒有找到能整除 ?
?num?? 的數(shù),則 ??num?? 是素數(shù),返回 ??true??。
輸出結(jié)果:
如果一個數(shù)是素數(shù),輸出該數(shù)并增加 ??count??。
最后輸出總共有多少個素數(shù)。

方法二
下面是一個使用Java編寫的程序,用于判斷101到200之間有多少個素數(shù),并輸出所有的素數(shù)。
Java 代碼
public class PrimeNumbers {
public static void main(String[] args) {
int start = 101;
int end = 200;
int count = 0;
System.out.println("Prime numbers between " + start + " and " + end + " are:");
for (int i = start; i <= end; i++) {
if (isPrime(i)) {
System.out.println(i);
count++;
}
}
System.out.println("Total prime numbers between " + start + " and " + end + ": " + count);
}
// 判斷一個數(shù)是否為素數(shù)
public static boolean isPrime(int num) {
if (num <= 1) {
return false;
}
if (num == 2) {
return true;
}
if (num % 2 == 0) {
return false;
}
for (int i = 3; i <= Math.sqrt(num); i += 2) {
if (num % i == 0) {
return false;
}
}
return true;
}
}代碼解釋
主類和主方法:
- ?
?PrimeNumbers?? 是主類。 - ?
?main?? 方法是程序的入口點。
變量定義:
- ?
?start?? 和 ??end?? 分別定義了要檢查的范圍(101到200)。 - ?
?count?? 用于記錄素數(shù)的數(shù)量。
循環(huán)遍歷范圍內(nèi)的每個數(shù):
- 使用 ?
?for?? 循環(huán)從 ??start?? 到 ??end?? 遍歷每個數(shù)。 - 對于每個數(shù) ?
?i??,調(diào)用 ??isPrime?? 方法判斷其是否為素數(shù)。
輸出素數(shù):如果 ??i?? 是素數(shù),輸出該數(shù)并增加 ??count??。
輸出總素數(shù)數(shù)量:循環(huán)結(jié)束后,輸出總的素數(shù)數(shù)量。
判斷素數(shù)的方法 isPrime?:
- 如果 ?
?num?? 小于等于1,返回 ??false??(1不是素數(shù))。 - 如果 ?
?num?? 等于2,返回 ??true??(2是最小的素數(shù))。 - 如果 ?
?num?? 是偶數(shù)且不等于2,返回 ??false??(偶數(shù)除了2都不是素數(shù))。 - 使用 ?
?for?? 循環(huán)從3開始,每次增加2(只檢查奇數(shù)),直到 ??Math.sqrt(num)??,如果 ??num?? 能被任何一個小于等于其平方根的數(shù)整除,則返回 ??false??。 - 如果以上條件都不滿足,返回 ?
?true??,表示 ??num?? 是素數(shù)。
運行結(jié)果
運行上述程序,你將看到101到200之間的所有素數(shù)及其總數(shù)。例如:
Prime numbers between 101 and 200 are:
101
103
107
109
113
127
131
137
139
149
151
157
163
167
173
179
181
191
193
197
199
Total prime numbers between 101 and 200: 21
到此這篇關(guān)于使用java判斷101-200之間有多少個素數(shù)并輸出的文章就介紹到這了,更多相關(guān)java判斷素數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringMVC使用hibernate-validator進行參數(shù)校驗最佳實踐記錄
這篇文章主要介紹了SpringMVC使用hibernate-validator進行參數(shù)校驗最佳實踐,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-05-05
Java Validation Api如何實現(xiàn)自定義注解
這篇文章主要介紹了Java Validation Api如何實現(xiàn)自定義注解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-09-09

