用while验证完美数

刚刚写了一个用while判断一个数是否为完美数的案例

完美数:从一开始到这个数每个能被它整除的数的和,不包含它本身

public class ifan7 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//判断输入的数是不是完美数
       while(true){
    	   //从键盘采集数据
     	  System.out.println("请输入一个数");
    	  Scanner   sc=new Scanner(System.in);
    	  int  k=sc.nextInt();
    	  int  f=1;//代表从一到这个数,每个能被这个数整除的数
    	  int  t=0;//每一次计算的结果
    	  while(f<k){
    		  //求从一开始到这个数,每个能被它整除的数的和
    		  if(k%f==0){
    			   t=f+t;    			  
    		  }
    		  ++f;
    	  }
    	  //判断结果
    	  if(t==k){
    		  System.out.println(k+"是完美数");
    	  }else{
    		  System.out.println(k+"不是完美数");
    	  }
       }
	}

}

猜你喜欢

转载自blog.csdn.net/wen459/article/details/89502719