展开全部
按照你的要求编写的用于判断一个整数n是不32313133353236313431303231363533e58685e5aeb931333363366164是完数的Java程序如下import java.util.Scanner;
public class G {
public static void perfectNumber(int n){
int f[]=new int[32];
int sum=0;
int j=0;
for(int i=1;i
if(n%i==0){
sum=sum+i;
f[j]=i;
j++;
}
}
if(n==sum){
System.out.println(n+"是完数");
System.out.print(n+"=");
for(int i=0;i
if(i
System.out.print(f[i]+"+");
}else{
System.out.print(f[i]);
}
}
}else{
System.out.println(n+"不是完数");
}
}
public static void main(String[] args) {
System.out.print("请输入一个正整数");
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
perfectNumber(n);
}
}
运行结果
请输入一个正整数28
28是完数
28=1+2+4+7+14