java求3~100中的所有素数(只能被1和自身整除的自然数)
时间: 2024-09-26 11:14:28 浏览: 8
在Java中,可以编写一个函数来判断一个数是否为素数,然后遍历3到100之间的每个数字,找出所有的素数。下面是一个简单的示例:
```java
public class PrimeNumbers {
public static void main(String[] args) {
for (int i = 3; i <= 100; i++) {
if (isPrime(i)) {
System.out.print(i + " ");
}
}
}
// 判断一个数是否为素数
public static boolean isPrime(int num) {
if (num <= 1) {
return false;
}
for (int j = 2; j * j <= num; j++) {
if (num % j == 0) {
return false;
}
}
return true;
}
}
```
在这个程序中,`isPrime()` 函数会检查给定的数字 `num` 是否能被2到它的平方根之间的任何数整除。如果找到这样的因子,那么它就不是素数。
相关问题
使用JAVA语言,用while循环输出2~100的所有素数(只能被1和自己整除的自然数),每行输出5个。
在Java中,我们可以使用while循环遍历从2到100的数字,并通过嵌套的if条件判断是否为素数。以下是使用while循环实现这个功能的代码:
```java
public class PrimeNumbers {
public static void main(String[] args) {
int i = 2; // 开始从2开始检查
while (i <= 100) { // 循环直到100
boolean isPrime = true;
for (int j = 2; j <= Math.sqrt(i); j++) { // 只需检查到根号i即可
if (i % j == 0) {
isPrime = false; // 如果能被整除,则不是素数
break; // 找到因子就跳出内层循环
}
}
if (isPrime) { // 如果是素数
System.out.print(i + " "); // 输出当前素数
if (--i % 5 != 0 || i == 100) { // 每打印5个素数换一行
System.out.println();
} else {
System.out.print(", ");
}
}
}
}
}
```
在这个程序中,我们首先假设每个数字都是素数(`isPrime = true`),然后检查它能否被2到其平方根之间的其他数字整除。如果找到因子,我们就将`isPrime`设为`false`并退出循环。最后,如果`isPrime`依然为`true`,则说明当前数字是素数,并按要求每五个数字换一行输出。
Java 输出2-100的所有素数(只能被1 和自己整除的自然数),每行输出5个
素数的算法是一个经典的问题,可以使用以下代码来解决:
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