package 算法学习;
import java.util.*;
//整除找因子必然用到模运算
public class 完美数 {
public boolean isPerfect(int n) {
int sum=0;
for(int i=1;i<n;i++) {
if(n%i==0) {//模运算找到因子
sum+=i;
}
}
if(sum==n) {//判断结果是否和本身相等
return true;
}else {
return false;
}
}
public void run() {
@SuppressWarnings("resource")
Scanner sc=new Scanner(System.in);
System.out.print("请输入一个数:");
int n=sc.nextInt();
if(isPerfect(n)) {
System.out.println("完美数");
}else {
System.out.println("不是完美数");
}
}
public static void main(String args[]) {
new 完美数().run();
}
}
import java.util.*;
//整除找因子必然用到模运算
public class 完美数 {
public boolean isPerfect(int n) {
int sum=0;
for(int i=1;i<n;i++) {
if(n%i==0) {//模运算找到因子
sum+=i;
}
}
if(sum==n) {//判断结果是否和本身相等
return true;
}else {
return false;
}
}
public void run() {
@SuppressWarnings("resource")
Scanner sc=new Scanner(System.in);
System.out.print("请输入一个数:");
int n=sc.nextInt();
if(isPerfect(n)) {
System.out.println("完美数");
}else {
System.out.println("不是完美数");
}
}
public static void main(String args[]) {
new 完美数().run();
}
}
本文介绍了一个简单的Java程序,用于检测输入的整数是否为完美数。完美数是指所有它的真因子(除了自身以外的因子)之和等于该数本身的正整数。程序通过循环遍历1到n-1之间的数来寻找所有能被n整除的因子,并计算这些因子的总和。
1069

被折叠的 条评论
为什么被折叠?



