用while循环求100以内的素数Java
时间: 2024-09-21 12:12:21 浏览: 10
在Java中,你可以使用while循环来遍历100以内的数字并检查它们是否是素数。素数是只有两个正因子(1和自身)的自然数。以下是利用while循环实现这个功能的一个简单示例:
```java
public class PrimeNumbers {
public static void main(String[] args) {
int num = 2; // 首个待判断的数
while (num <= 100) { // 循环直到达到100
boolean isPrime = true;
for (int i = 2; i <= Math.sqrt(num); i++) { // 只需检查到数的平方根,因为大于这个值的因子会与它相乘得到一个小于n的因数
if (num % i == 0) { // 如果num能被i整除,则不是素数
isPrime = false;
break;
}
}
if (isPrime) {
System.out.println(num + " 是素数");
}
num++;
}
}
}
```
相关问题
用 do-while循环求100以内的素数Java
在Java中,我们可以使用do-while循环结合条件判断来找出100以内的所有素数。下面是一个简单的示例:
```java
public class PrimeNumbers {
public static void main(String[] args) {
int num = 2; // 素数从2开始
boolean isPrime;
do {
isPrime = true; // 假定num是素数
for (int i = 2; i <= Math.sqrt(num); i++) { // 只需检查到sqrt(num),因为超过这个值的因子肯定有一个小于它
if (num % i == 0) { // 如果num能被i整除,说明不是素数
isPrime = false;
break;
}
}
if (isPrime) {
System.out.println(num); // 输出素数
}
num++; // 继续下一个数字检测
} while (num < 100);
}
}
```
在这个程序中,`do-while`循环会先执行一次,然后在每次循环体内检查当前数字是否为素数。如果找到因子,则更新`isPrime`为`false`并退出内层循环;如果没有因子,就输出该数,并继续下一轮检查。
使用while循环求100以内的素数和
很高兴回答你的问题!要求100以内的素数和,我们可以写一个while循环,从2开始遍历每个数,判断该数是否是素数,如果是素数就加入到素数和中,如果不是素数就继续遍历下一个数,直到遍历完100为止。以下是代码示例:
```
sum = 0
n = 2
while n <= 100:
i = 2
flag = True
while i <= n / 2:
if n % i == 0:
flag = False
break
i += 1
if flag:
sum += n
n += 1
print("100以内的素数和为: ", sum)
```
希望这个答案能够帮到你!如果您有其他问题,欢迎继续提问。