java求10000以内的素数
时间: 2024-09-11 09:16:06 浏览: 68
在Java中求解10000以内的素数可以通过多种方法实现,最简单的一种方法是使用埃拉托斯特尼筛法(Sieve of Eratosthenes)。该算法的基本思想是从最小的素数2开始,将所有2的倍数标记为非素数,接着找到下一个未被标记的数,即下一个素数,然后再将这个素数的所有倍数标记为非素数。重复这个过程,直到达到一定的范围为止。
下面是一个简单的Java实现:
```java
public class PrimeNumbers {
public static void main(String[] args) {
int limit = 10000;
boolean[] isPrime = new boolean[limit + 1];
for (int i = 2; i <= limit; i++) {
isPrime[i] = true;
}
for (int factor = 2; factor * factor <= limit; factor++) {
if (isPrime[factor]) {
for (int j = factor * factor; j <= limit; j += factor) {
isPrime[j] = false;
}
}
}
System.out.println("10000以内的素数有:");
for (int i = 2; i <= limit; i++) {
if (isPrime[i]) {
System.out.print(i + " ");
}
}
}
}
```
这段代码首先创建了一个布尔数组`isPrime`,用于标记每个数是否为素数。然后通过两层循环,外层循环遍历每个数,内层循环标记当前数的倍数为非素数。最后,遍历`isPrime`数组,打印出所有标记为素数的数。
阅读全文