面试算法题5

面试算法题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;
 }
 
}

posted on 2007-04-21 09:19  YangJin  阅读(128)  评论(0编辑  收藏  举报