请你以Java编写程序代码输出1到100以内的质数结果。
时间: 2024-03-17 14:40:15 浏览: 14
好的,以下是Java代码实现:
```java
public class PrimeNumbers {
public static void main(String[] args) {
int num, i, count;
for (num = 1; num <= 100; num++) {
count = 0;
for (i = 2; i <= num / 2; i++) {
if (num % i == 0) {
count++;
break;
}
}
if (count == 0 && num != 1) {
System.out.print(num + " ");
}
}
}
}
```
这段代码通过两层循环来判断1到100之间的每个数是否为质数。外层循环用来遍历1到100之间的所有数,内层循环用来判断该数是否为质数。如果该数不能被2到该数的一半之间的任何整数整除,那么该数就是质数。最后将所有的质数输出。
相关问题
java编写程序,求100以内的全部素数
下面是 Java 代码,用于找出 100 以内的所有素数:
```java
public class PrimeNumbers {
public static void main(String[] args) {
int num = 100;
boolean[] isPrime = new boolean[num+1];
// 初始化数组
for (int i = 2; i <= num; i++) {
isPrime[i] = true;
}
// 找出素数
for (int i = 2; i <= Math.sqrt(num); i++) {
if (isPrime[i]) {
for (int j = i*i; j <= num; j+=i) {
isPrime[j] = false;
}
}
}
// 输出素数
System.out.println("Prime numbers from 1 to " + num + " are:");
for (int i = 2; i <= num; i++) {
if (isPrime[i]) {
System.out.print(i + " ");
}
}
}
}
```
代码中,我们使用一个布尔数组 `isPrime` 来存储每个数字是否为素数。首先,我们将数组中所有元素初始化为 `true`,然后从 2 开始遍历数组,将所有 2 的倍数、3 的倍数、4 的倍数……标记为非素数。最后,输出数组中所有值为 `true` 的元素,即为素数。
输出结果为:
```
Prime numbers from 1 to 100 are:
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 编写一个程序计算10000以内的素数之和并输出
以下是 Java 代码:
```java
public class SumOfPrimes {
public static void main(String[] args) {
int limit = 10000;
long sum = 0L;
for (int i = 2; i <= limit; i++) {
if (isPrime(i)) {
sum += i;
}
}
System.out.println("The sum of primes under " + limit + " is " + sum);
}
public static boolean isPrime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i <= Math.sqrt(n); i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
}
```
该程序使用一个嵌套的循环来遍历从 2 到 10000 的所有数字,并在每个数字上调用 `isPrime` 方法。如果该数字是素数,则将其添加到 `sum` 变量中。最后,程序输出计算得出的素数之和。