定义静态方法printPrime0,顺序输出两个整数n~m之间(包括n和m)的全部素数。素数是称质数,一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数。Java代码
时间: 2024-12-15 17:27:45 浏览: 24
在Java中,你可以使用Sieve of Eratosthenes算法来找出给定范围内的所有素数。以下是定义`printPrime0`静态方法的一个示例:
```java
public class PrimeNumbers {
// 静态方法 printPrime0,输出n到m之间的素数
public static void printPrime0(int n, int m) {
boolean[] isPrime = new boolean[m+1]; // 初始化一个布尔数组,假设所有数都是素数
for (int i = 2; i * i <= m; i++) { // 只需检查到√m,因为大于√m的数如果能被分解,一定有一个因子小于√m
if (!isPrime[i]) { // 如果i是素数
for (int j = i * i; j <= m; j += i) { // 标记i的倍数为非素数
isPrime[j] = true;
}
}
}
// 输出n到m之间的素数
for (int i = n; i <= m; i++) {
if (!isPrime[i]) { // 如果i不是素数标记
System.out.print(i + " ");
}
}
}
public static void main(String[] args) {
printPrime0(10, 50); // 调用函数,输出10到50之间的素数
}
}
```
阅读全文