java求出100以内的质数
时间: 2023-07-09 14:46:58 浏览: 55
可以使用筛法求解,以下是 Java 代码实现:
```java
public static void printPrimeNumbers(int n) {
boolean[] isPrime = new boolean[n + 1];
Arrays.fill(isPrime, true);
isPrime[0] = false;
isPrime[1] = false;
for (int i = 2; i * i <= n; i++) {
if (isPrime[i]) {
for (int j = i * i; j <= n; j += i) {
isPrime[j] = false;
}
}
}
for (int i = 2; i <= n; i++) {
if (isPrime[i]) {
System.out.print(i + " ");
}
}
}
```
调用 `printPrimeNumbers(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。
相关问题
java while求100以内素数
在Java中,可以使用while循环来求解100以内的素数。素数是只能被1和自身整除的正整数。
下面是一个示例代码:
```java
public class PrimeNumbers {
public static void main(String[] args) {
int num = 2; // 从2开始判断
while (num <= 100) {
boolean isPrime = true;
int divisor = 2;
while (divisor <= Math.sqrt(num)) {
if (num % divisor == 0) {
isPrime = false;
break;
}
divisor++;
}
if (isPrime) {
System.out.print(num + " ");
}
num++;
}
}
}
```
这段代码使用了两个while循环嵌套。外层的while循环用于遍历2到100之间的所有数字,内层的while循环用于判断当前数字是否为素数。
在内层循环中,通过判断当前数字是否能被2到其平方根之间的任意数字整除来确定是否为素数。如果能被整除,则将isPrime标记为false,并跳出内层循环。如果不能被整除,则isPrime保持为true,表示当前数字是素数。
最后,如果isPrime为true,则将当前数字输出。
java求100以内素数
以下是Java求100以内素数的代码和解释:
```java
public class PrimeNumbers {
public static void main(String[] args) {
int i, j;
for (i = 2; i <= 100; i++) {
for (j = 2; j <= i / 2; j++) {
if (i % j == 0) {
break;
}
}
if (j > i / 2) {
System.out.println(i + "是素数!");
}
}
}
}
```
解释:
这段代码使用了两层循环,外层循环用于遍历被除数,即要判断是否为素数的数,从2开始到100结束。内层循环用于遍历除数,从2开始到被除数的一半结束。如果被除数能够被除数整除,说明它不是素数,跳出内层循环。如果内层循环正常结束,说明被除数是素数,输出它的值。