[英]Show certain amount of prime numbers
我一直在研究一些 Java 代碼來顯示素數。 我已經讓它顯示了 0 到 100 之間的所有素數。
我將如何做到這一點,以便我可以將一個變量設置為 20,它會顯示前 20 個素數。
我的代碼:
public class PrimeNumber {
/**
* @param args the command line arguments
*/
private static boolean prime = true;
private static int count = 20;
public static void main(String[] args) {
for (int i = 2; i < 100; i++) {
for (int j = 2; j < 100; j++) {
if(i == j)
{
continue;
}
if (i % j == 0) {
prime = false;
break;
} else {
prime = true;
}
}
if (prime) {
System.out.println(i + " is a Prime:");
}
}
}
}
這是 OP 代碼的最簡單可能的實現。
減少count
變量並在外部for loop
檢查它,直到它達到zero
。 此外,內部 for 循環應該只檢查直到(i/2 + 1)
的當前值。 另一半您可以隨時跳過,該值將除以i
本身。
public class PrimeNumber {
/**
* @param args the command line arguments
*/
private static boolean prime = true;
private static int count = 20;
public static void main(String[] args) {
for (int i = 2; count>0; i++) {
for (int j = 2; j < i/2 + 1; j++) {
if (i % j == 0) {
prime = false;
break;
} else {
prime = true;
}
}
if (prime) {
System.out.println(i + " is a Prime:");
count--;
}
}
}
}
檢查以下代碼以獲得答案:
public class PrimeNumber {
private static boolean prime = true;
private static int count = 20;
public static void main(String[] args) {
for (int i = 2; i < count+1; i++) {
for (int j = 2; j < 100; j++) {
if(i == j)
{
continue;
}
if (i % j == 0) {
prime = false;
break;
} else {
prime = true;
}
}
if (prime) {
System.out.println(i + " is a Prime:");
}}}}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.