java输入两个整数啊a1和a2,输出a1到a2两个整数中的完美数
时间: 2024-10-07 12:05:49 浏览: 44
在Java中,完美数是指一个正整数的所有真因子(除了自身以外的因数)之和等于它本身的数。例如,6是一个完美数,因为它的真因子有1、2和3,它们相加正好等于6。
如果你想编写一个程序,让用户输入两个整数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 a1 = scanner.nextInt();
System.out.println("请输入范围的结束值 a2:");
int a2 = scanner.nextInt();
for (int i = a1; i <= a2; i++) {
if (isPerfectNumber(i)) {
System.out.println("找到完美数 " + i);
}
}
scanner.close();
}
// 判断一个数是否为完美数
private static boolean isPerfectNumber(int number) {
int sum = 1;
for (int divisor = 2; divisor < number; divisor++) {
if (number % divisor == 0) { // 如果能整除
sum += divisor; // 加入和中
}
}
return sum == number; // 检查总和是否等于原数
}
}
```
当你运行这个程序,它会提示用户输入两个整数,然后遍历该范围内所有数字,检查每个数是否是完美数并打印出来。如果遇到完美数,它会显示相应的数值。
阅读全文