编写一个Java程序,求出1到100内所有的素数,并在屏幕上显示出来。要求用两种不同的方法实现。
时间: 2024-02-28 08:55:21 浏览: 96
好的,以下是两种不同的方法实现1到100内所有的素数的Java程序:
方法一:
```
public class PrimeNumbers {
public static void main(String[] args) {
int n = 100;
for (int i = 2; i <= n; i++) {
boolean isPrime = true;
for (int j = 2; j <= i / 2; j++) {
if (i % j == 0) {
isPrime = false;
break;
}
}
if (isPrime) {
System.out.print(i + " ");
}
}
}
}
```
方法二:
```
public class PrimeNumbers {
public static void main(String[] args) {
int n = 100;
for (int i = 2; i <= n; i++) {
boolean isPrime = true;
for (int j = 2; j <= Math.sqrt(i); j++) {
if (i % j == 0) {
isPrime = false;
break;
}
}
if (isPrime) {
System.out.print(i + " ");
}
}
}
}
```
方法一中,我们使用了两个for循环,第一个for循环用来遍历1到100之间所有的数,第二个for循环用来判断当前的数是否为素数,如果当前数能够被除了1和自身以外的数整除,则说明该数不是素数,否则该数是素数。
方法二中,我们也是使用了两个for循环,不同之处在于第二个for循环中判断的条件为i的平方根,这是因为一个数如果有大于它平方根的因子,则必然有小于它平方根的因子,因此只需要检查小于等于它平方根的因子即可。这种方法可以减少循环次数,因此效率更高。
阅读全文