这是百度实习生招聘用来测试系统的题目,并不是正式的考题
题目如下:
给出一个输入数字n,请编写一个程序来检查n是否为完全数。完全数是等于其所有因数总和的数字。
例如: 28 = 1+2+4+7+14
如果n为完全数则返回1,否则返回0。
我的代码如下:
public class BaiduExample2 {
public static int isPerfectNum(int num){
ArrayList<Integer> array = new ArrayList<Integer>();
for (int i = 1; i < num; i++) {
if(num%i==0){
array.add(i);
}
}
int sum=0;
for (Integer integer : array) {
sum += integer;
}
System.out.println("sum == "+ sum);
if (num == sum) {
return 1;
}else{
return 0;
}
}
public static void main(String[] args) {
int result = isPerfectNum(4);
System.out.println(result);
}
}