用java找出一千以内的质数
时间: 2023-06-02 08:07:22 浏览: 144
好的,这是一个数学计算问题,我可以帮你回答。以下是一段Java代码,可用于找出一千以内的质数:
```java
public class PrimeNumbers {
public static void main(String[] args) {
int limit = 1000;
for (int i = 2; i <= limit; i++) {
boolean isPrime = true;
for (int j = 2; j <= i/2; j++) {
if (i % j == 0) {
isPrime = false;
break;
}
}
if (isPrime) {
System.out.print(i + " ");
}
}
}
}
```
这段代码会输出一千以内的所有质数,例如:2 3 5 7 11 13 17 ......
相关问题
用java找出1000以内的质数
可以的,以下是Java代码:
public class PrimeNumbers {
public static void main(String[] args) {
int num = 1000;
for (int i = 2; i <= num; i++) {
boolean isPrime = true;
for (int j = 2; j <= Math.sqrt(i); j++) {
if (i % j == 0) {
isPrime = false;
break;
}
}
if (isPrime) {
System.out.print(i + " ");
}
}
}
}
使用java找出1000以内所有的质数
在Java中找出1000以内的所有质数,可以通过一个简单的算法来实现,这种方法被称为埃拉托斯特尼筛法(Sieve of Eratosthenes)。该算法的基本思想是从最小的质数2开始,找出所有2的倍数,并将它们标记为非质数,然后继续到下一个未被标记的数,并重复这个过程。最终剩下的未被标记的数都是质数。下面是一个实现这个算法的示例代码:
```java
public class PrimeNumber {
public static void main(String[] args) {
int maxNumber = 1000;
boolean[] isPrime = new boolean[maxNumber + 1];
for (int i = 2; i <= maxNumber; i++) {
isPrime[i] = true;
}
for (int i = 2; i * i <= maxNumber; i++) {
if (isPrime[i]) {
for (int j = i * i; j <= maxNumber; j += i) {
isPrime[j] = false;
}
}
}
for (int i = 2; i <= maxNumber; i++) {
if (isPrime[i]) {
System.out.println(i);
}
}
}
}
```
在这段代码中:
1. 初始化一个布尔数组`isPrime`,用于标记每个数是否是质数。
2. 从2开始遍历,对于每个数,如果它没有被标记为非质数,则将它标记为质数。
3. 然后从这个数的平方开始,将其所有的倍数标记为非质数。
4. 最后,遍历`isPrime`数组,打印出所有标记为质数的数。
阅读全文