面试算法题5 

做这些题只是为了爱好,收集供所有找工作的学生和爱好者共享。

package mymethod;

import java.util.HashSet;

import java.util.Set;

/**

 * 请设计一个字符界面的程序,用来找出1-500以内的完整数,所谓完整数是指其所有因子和(包括1而不包括自身)等于自身

 * 的整数,例如28=1+2+4+7+14,1,2,4,7,14都是28的因子,所以28是个完整数.

 * @author acer

 */

public class Method1 {

 public static void main(String[] args){

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

   if(isFullNumber(i))

    System.out.print(i+"/t");

  }

 }

 public static boolean isFullNumber(int n){

  //判断完整数

  boolean boo=false;

  int total=0;

  for(int i=1;i<n;i++)

   if(isFactor(n,i))

    total+=i;

  if(total==n)

   boo=true;

  return boo;

 }

 public static boolean isFactor(int n,int factor){

  //判断因数

  boolean boo=false;

  if(n%factor==0) boo=true;

  return boo;

 }

 

}