Java程序段,判断从键盘输入的一个整数是否为完全数
时间: 2024-09-16 07:00:34 浏览: 46
Java初级学习课程练习题
在Java中,判断一个整数是否为完全数,可以按照以下步骤编写程序:
```java
import java.util.Scanner;
public class PerfectNumber {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个整数:");
int num = scanner.nextInt(); // 获取用户输入的整数
if (isPerfectNumber(num)) {
System.out.format("%d 是一个完全数。", num);
} else {
System.out.format("%d 不是一个完全数。", num);
}
scanner.close();
}
// 完全数检查函数
public static boolean isPerfectNumber(int n) {
int sum = 0;
for (int i = 1; i <= Math.sqrt(n); i++) { // 只需遍历到根号n即可
if (n % i == 0) {
sum += i;
if (i != n / i) { // 如果不是它本身的平方,则同时加上另一个因子
sum += n / i;
}
}
}
return sum == n && n > 1; // 返回sum等于n且n大于1的情况,因为1不是完全数
}
}
```
这个程序首先获取用户输入的整数,然后通过`isPerfectNumber`函数判断它是否为完全数。完全数是指一个数的所有真因数(除了自身外)之和正好等于该数本身的正整数。
阅读全文