用java代码写一个
时间: 2023-09-21 14:07:50 浏览: 39
下面是使用Java代码实现埃拉托色尼筛法的示例:
```java
public static void sieveOfEratosthenes(int n) {
boolean[] primes = new boolean[n+1]; // 创建一个布尔数组,用于记录每个数是否为素数
Arrays.fill(primes, true); // 初始化所有数都为素数
primes[0] = false; // 0和1不是素数
primes[1] = false;
for (int i = 2; i <= Math.sqrt(n); i++) { // 从2开始遍历到n的平方根
if (primes[i]) { // 如果i是素数
for (int j = i*i; j <= n; j += i) { // 将i的倍数标记为合数
primes[j] = false;
}
}
}
for (int i = 2; i <= n; i++) { // 输出所有素数
if (primes[i]) {
System.out.print(i + " ");
}
}
}
```
该方法接受一个整数n作为参数,输出所有小于等于n的素数。使用一个布尔数组来记录每个数是否为素数,初始化时所有数都是素数,然后从2开始遍历到n的平方根,如果当前数是素数,则将其倍数标记为合数。最后遍历整个数组,输出所有素数。