您的位置:首页 > 职场人生

一个判断完数的小例子

2016-06-28 22:31 330 查看
判断完数

完数:一个数的因子之和等于这个数本身;例如:6=1+2+3;

求1000以内有多少个完数?

分析:

1.得到某个数的所有因子

2.计算因子之和

3.判断和是否等于这个数

public class IsPerfectNumber {

 public static void main(String[] args) {

  Utils util=new Utils();

  for(int i=1;i<1000;i++){

   if(util.getArraySum(util.getNum(i))==i){

     System.out.println(i+"这个数是完数");

   }

   }

 

}}

public class Utils {

 //1.得到某个数的所有因子

 public int[] getNum(int num) {

  int time = 0;

  for (int i = 1; i < num; i++) {

   if (num % i == 0) {

    time++;

   }

  }

  int array[] = new int[time];

  time = 0;

  for (int i = 1; i < num; i++) {

   if (num % i == 0) {

    array[time] = i;

    time++;

   }

  }

  return array;

 }

 //2.计算因子之和

 public int getArraySum(int array[]) {

  int sum = 0;

  for (int i = 0; i < array.length; i++) {

   sum += array[i];

  }

  return sum;

 }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息