java求100以内的素数
时间: 2023-09-03 14:28:33 浏览: 100
### 回答1:
您好,以下是100以内的素数列表:
2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97。
### 回答2:
Java是一种很强大的编程语言,可以用来解决各种问题,包括求解素数。素数是只能被1和自身整除的数,比如2、3、5、7等。为了求解100以内的素数,我们可以使用循环和判断语句来逐个判断每个数是否为素数。
首先,我们可以使用两个循环嵌套,外层循环控制数字从2到100的遍历,内层循环从2开始检查每个数字是不是素数。在内层循环中,我们使用取模运算符(%)来判断每个数字是否能被除1和自身以外的任何数整除。
具体的Java代码如下:
```java
public class PrimeNumbers {
public static void main(String[] args) {
System.out.println("100以内的素数:");
for (int i = 2; i <= 100; i++) {
boolean isPrime = true;
for (int j = 2; j < i; j++) {
if (i % j == 0) {
isPrime = false;
break;
}
}
if (isPrime) {
System.out.print(i + " ");
}
}
}
}
```
上述代码中,我们使用一个布尔变量isPrime来判断当前数字是否为素数。如果在内层循环中找到了一个能整除当前数字的数,就将isPrime设置为false,并立即跳出内层循环。如果在内层循环结束后isPrime仍然为true,则说明当前数字是素数,将其输出。
运行上述代码,控制台将会输出100以内的素数:2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97。
### 回答3:
求100以内的素数可以通过筛选法来实现。先定义一个大小为100的布尔数组,用来表示数字是否为素数。初始时,将所有数字都标记为素数。然后从2开始遍历到100,如果某个数字是素数,则将它的倍数都标记为非素数。具体步骤如下:
1. 创建一个长度为101的布尔数组`isPrime`,并将所有元素初始化为`true`。数组下标表示数字,布尔值表示是否为素数。
2. 从2开始遍历到100,对于每个数字:
- 如果`isPrime[i]`为`true`,则将`i`的倍数从`i*2`开始,递增`i`,标记为非素数。具体代码为:
```java
for (int j = i * 2; j <= 100; j += i) {
isPrime[j] = false;
}
```
3. 遍历完毕后,`isPrime[i]`为`true`的数字`i`即为100以内的素数。
最后将找到的素数打印出来即可。完整代码如下:
```java
public class PrimeNumbers {
public static void main(String[] args) {
boolean[] isPrime = new boolean[101];
for (int i = 2; i <= 100; i++) {
isPrime[i] = true;
}
for (int i = 2; i <= 100; i++) {
if (isPrime[i]) {
for (int j = i * 2; j <= 100; j += i) {
isPrime[j] = false;
}
}
}
System.out.println("100以内的素数有:");
for (int i = 2; i <= 100; i++) {
if (isPrime[i]) {
System.out.print(i + " ");
}
}
}
}
```
运行结果如下:
```
100以内的素数有:
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
```
通过筛选法,我们可以求得100以内的所有素数。
阅读全文