Java 输出2-100的所有素数(只能被1 和自己整除的自然数),每行输出5个
时间: 2023-11-10 08:33:40 浏览: 89
素数的算法是一个经典的问题,可以使用以下代码来解决:
public class PrimeNumbers {
public static void main(String[] args) {
int count = 0;
int num = 2;
while (num <= 100) {
boolean isPrime = true;
for (int i = 2; i <= Math.sqrt(num); i++) {
if (num % i == 0) {
isPrime = false;
break;
}
}
if (isPrime) {
System.out.print(num + " ");
count++;
if (count % 5 == 0) {
System.out.println();
}
}
num++;
}
}
}
输出结果如下:
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实现输出5个素数
### 回答1:
以下是使用Java实现输出前5个素数的代码:
```java
public class PrimeNumbers {
public static void main(String[] args) {
int count = 0;
int num = 2;
while (count < 5) {
if (isPrime(num)) {
System.out.print(num + " ");
count++;
}
num++;
}
}
public static boolean isPrime(int num) {
if (num <= 1) {
return false;
}
for (int i = 2; i <= Math.sqrt(num); i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
}
```
运行结果为:
```
2 3 5 7 11
```
该代码使用了一个计数器 `count` 来记录已经输出了多少个素数,以及一个变量 `num` 来表示当前需要判断是否为素数的数。`isPrime` 方法用于判断一个数是否为素数,如果是则返回 `true`,否则返回 `false`。在 `main` 方法中,我们使用一个 `while` 循环来判断是否已经输出了足够的素数,如果还没有就继续判断下一个数是否为素数。如果当前数是素数,就输出它并将计数器加一,直到输出了前5个素数为止。
### 回答2:
要用Java实现输出5个素数,可以使用循环和判断的方法来实现。
首先,创建一个变量count,用来记录已经找到的素数的数量。
然后,创建一个变量num,从2开始逐个判断是否为素数。
使用一个while循环,当count小于5时,不断进行判断。
在循环中,在每次判断之前,创建一个变量isPrime,用来记录当前判断的数字是否为素数。
接着,使用一个for循环,从2到num之间所有整数进行遍历,判断num是否可以被整除。
如果存在能够整除num的整数,即num不为素数,将isPrime设为false,并且跳出循环。
如果for循环结束后,isPrime的值仍然为true,则num为素数。
则将num输出,并且count加1。
最后,在每次判断完成后,将num加1,继续下一次的判断。
以下是对应的Java代码:
```java
public class PrimeNumber {
public static void main(String[] args) {
int count = 0;
int num = 2;
while (count < 5) {
boolean isPrime = true;
for (int i = 2; i < num; i++) {
if (num % i == 0) {
isPrime = false;
break;
}
}
if (isPrime) {
System.out.println(num);
count++;
}
num++;
}
}
}
```
运行以上代码,就可以输出5个素数。
### 回答3:
素数指的是只能被1和自身整除的自然数,即除了1和自身以外没有其他的因数。下面是使用Java语言实现输出5个素数的代码:
```java
public class PrimeNumbers {
public static void main(String[] args) {
int count = 0; // 用于计数已输出的素数个数
int number = 2; // 从2开始判断是否为素数
System.out.println("输出前5个素数:");
while (count < 5) {
boolean isPrime = true; // 判断当前数字是否是素数
for (int i = 2; i <= Math.sqrt(number); i++) {
if (number % i == 0) {
isPrime = false; // 如果能被除了1和自身以外的数整除,则不是素数
break;
}
}
if (isPrime) {
System.out.print(number + " ");
count++;
}
number++; // 判断下一个数字
}
}
}
```
运行上述代码,将会输出前5个素数:2 3 5 7 11。
java:6. 求50~100之间的素数并输出。素数是指除1和它本身是该数的因子外没有别的因子的自然数。
好的,以下是Java代码实现:
```java
public class Main {
public static void main(String[] args) {
int count = 0;
for (int i = 50; 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 + " ");
count++;
}
}
System.out.println("\n共有" + count + "个素数");
}
}
```
输出结果为:
```
53 59 61 67 71 73 79 83 89 97
共有10个素数
```
代码解释:
首先,使用一个 `for` 循环枚举从 50 到 100 的自然数。对于每个自然数,使用一个 `boolean` 类型的变量 `isPrime` 记录是否为素数。然后,再用一个嵌套的 `for` 循环,枚举从 2 到该自然数的前一个自然数,判断该自然数是否能被整除。如果能被整除,则将 `isPrime` 的值设为 `false` 并跳出内层循环。最后,如果 `isPrime` 的值为 `true`,则输出该自然数,并将计数器 `count` 加 1。最后输出所有素数的个数。
相关推荐
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)