java 输入两个数,输出这两个是中间的完美数
时间: 2024-10-08 12:04:27 浏览: 11
在Java中,一个完美的数是指它的所有真因子(除了自身以外的正因数)之和等于它本身的数。例如,6是一个完美数,因为1 + 2 + 3 = 6。如果你想要输入两个数,并找出它们之间的完美数,你可以编写一个简单的函数来实现这个功能。下面是一个示例:
```java
import java.util.Scanner;
public class PerfectNumbers {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入两个整数:");
int num1 = scanner.nextInt();
int num2 = scanner.nextInt();
for (int i = num1; i <= num2; i++) {
if (isPerfectNumber(i)) {
System.out.println("在 " + num1 + " 和 " + num2 + " 之间," + i + " 是一个完美数.");
}
}
scanner.close();
}
// 检查一个数是否是完美数
public static boolean isPerfectNumber(int n) {
int sum = 0;
for (int i = 1; i < n; i++) {
if (n % i == 0) {
sum += i;
}
}
return sum == n && n > 1; // 确保n大于1,因为1不是完美数
}
}
```
当你运行这个程序,它会提示你输入两个数字,然后搜索并打印这两个范围内的完美数。