使用Java编程,输入n(20<=n<=50),求1-n之间所有非素数的和并输出
时间: 2024-10-12 10:09:01 浏览: 34
在Java编程中,计算1到n之间所有非素数的和,你需要先编写一个判断素数的函数,然后遍历这个范围,对非素数进行累加。下面是一个简单的步骤说明:
1. 首先,定义一个`isPrime`函数,它接受一个整数作为输入,检查该数是否为素数。对于每个数i,从2开始检查到它的平方根,如果能整除则不是素数。
```java
public static boolean isPrime(int num) {
if (num <= 1) return false;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) return false;
}
return true;
}
```
2. 接着,在主程序中,获取用户输入的n,并初始化一个变量sum用于存储非素数之和。然后使用一个循环,从2迭代到n,对每一个数,如果它不是素数,就将其加入sum中。
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个数字(n, 20<=n<=50): ");
int n = scanner.nextInt();
int sum = 0;
for (int i = 2; i <= n; i++) {
if (!isPrime(i)) {
sum += i;
}
}
System.out.println("1到" + n + "之间所有非素数的和是: " + sum);
scanner.close();
}
}
```
阅读全文