一个数如果恰好等于不等于它本身的所有因子之和,那么这个数就被称为"完数"。例如,6的因子为1,2,3,而6=1+2+3,因此,6是完数。要求给定一个整数n,请编写程序,确定n是否是完数。
输入 每组数据输入一个n(1<=n<=10^4) 当n为-1时,输入结束。 输出 每组数据输出一行,如果 n 不是完数,输出 No 。 否则,以 n 的因子由小到大相加的形式输出。 样例输入 1 2 6 -1 样例输出 No No 6=1+2+3 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int number = scanner.nextInt(); while (number != -1) { int result = 0; int count = 0; int arr[] = new int[number]; for (int i = 1; i < number; i++) { if (number % i == 0) { result += i; arr[count++] = i; } } if (number == result) { System.out.print(number + "=" + arr[0]); for (int i = 1; i < count; i++) { System.out.print("+" + arr[i]); } System.out.println(); } else { System.out.println("No"); } number = scanner.nextInt(); } } }