(4)编写一个Java程序判断一个指定数是否为完全数。完全数定义是它的所有因子(包括1但不包括该数自身)的和等于该数自身,例如28的所有因子的和1+2+4+7+14等于它自身28,因此28就是一个完全数。
1 package hi; 2 import java.util.Scanner; 3 public class IntactNumber { 4 5 /** 6 * @param args 7 */ 8 public static void main(String[] args) { 9 // TODO Auto-generated method stub 10 Scanner x = new Scanner(System.in);//构造一个Scanner对象,其传入参数为System.in 11 System.out.println("Please enter a positive integer"); 12 int num = x.nextInt();//读取一个int数值 13 if(num<0){ 14 System.out.println("Please enter a positive integer"); 15 num = x.nextInt(); 16 } 17 int sum=1; 18 for(int i=2;i<num;i++){ 19 if(num%i==0){ 20 sum+=i; 21 } 22 } 23 if(sum==num){ 24 System.out.println("It is a intact number."); 25 } 26 else{ 27 System.out.println("It is not a intact number."); 28 } 29 30 } 31 32 }
output: