用Java输出1到1000的所有素数,每行显示八个素数只用for和if
时间: 2024-11-04 09:10:13 浏览: 23
在Java中,你可以使用嵌套的`for`循环以及一些基本的数学技巧来找出并输出1到1000之间的所有素数。这里是一个简单的示例:
```java
public class PrimeNumbers {
public static void main(String[] args) {
for (int num = 2; num <= 1000; num++) { // Start from 2 since 1 is not a prime number
boolean isPrime = true;
if (num > 1) { // Check if the number is greater than 1 to exclude non-primes
for (int i = 2; i <= Math.sqrt(num); i++) { // Check divisibility up to its square root for efficiency
if (num % i == 0) { // If divisible by any number other than 1 and itself, it's not prime
isPrime = false;
break;
}
}
}
if (isPrime && num % 8 != 0) { // Output every eighth prime number to fit in one line with eight numbers
System.out.print(num + " ");
if ((num - 1) % 8 == 0) { // If at the end of a line, print newline
System.out.println();
}
}
}
}
}
```
在这个程序中,外层循环遍历每个数字,内层循环检查它是否能被其他数字整除。如果找到一个因子,就将`isPrime`标记为`false`。然后,我们判断当前数字是否为素数(即`isPrime`为`true`),并且它不是第八个素数(因为每打印8个素数换一行)。如果满足条件,则输出该素数。
阅读全文