java输入两个整数啊a1和a2,输出a1到a2两个整数中的完美数在主函数中
时间: 2024-10-08 08:02:15 浏览: 30
在 Java 中,要编写一个程序来找出给定范围内的完美数,首先需要了解什么是完美数。完美数是指它的所有真因数(除了自身以外的因子)之和等于它本身的数。例如,6是一个完美数,因为1+2+3=6。
下面是一个简单的 Java 程序,用于计算并输出给定范围内(a1到a2)的所有完美数:
```java
import java.util.Scanner;
public class PerfectNumbersInRange {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入起始数字 a1:");
int start = scanner.nextInt();
System.out.println("请输入结束数字 a2:");
int end = scanner.nextInt();
// 检查每个数是否为完美数
for (int i = start; i <= end; i++) {
if (isPerfectNumber(i)) {
System.out.println("完美数: " + i);
}
}
scanner.close();
}
// 判断一个数是否为完美数
public static boolean isPerfectNumber(int num) {
int sum = 0;
for (int factor = 1; factor < num; factor++) {
if (num % factor == 0) { // 如果factor能整除num
sum += factor; // 将factor加到sum中
}
}
return sum == num && num > 1; // 如果sum等于num且num大于1,则是完美数
}
}
```
阅读全文