2016年1月13日 星期三

d010: 盈數、虧數和完全數

內容 :
對一個正整數 N 而言,將它除了本身以外所有的因數加起來的總和為 S,如果 S>N,則 N 為盈數,如果 S<N,則 N 為虧數,而如果 S=N,則 N 為完全數(Perfect Number)。例如 10 的因數有 1、2、5、10,1+2+5=8<10,因此10 為虧數,而 12 的因數有 1、2、3、4、6、12,1+2+3+4+6=16>12,因此 12 為盈數。至於 6 的因數有 1、2、3、6,1+2+3=6,所以 6 是完全數(它也是第一個完全數)。
現在請你寫一個程式,輸入一個正整數 N,然後印出它是盈數、虧數還是完全數。
輸入說明 : 
輸出說明 : 
範例輸入 : help
30
26
28
範例輸出:
盈數
虧數
完全數
提示 : 
標籤:
出處: 


import java.util.Scanner;
public class d010 {

public static void main(String[] args) {
           Scanner sc=new Scanner(System.in);
           while(sc.hasNext()){
          int n=sc.nextInt();
          
          long total=0;
          for(int i=1;i<=n/2;i++){
          if(n%i==0){
          total+=i;
          System.out.println(i);
          }
          }
if(total==n){
System.out.println("完全數");
}
else if(total>n){
System.out.println("盈數");
}
else if(total<n){
System.out.println("虧數");
}
          
           }
           sc.close();
}

}

沒有留言:

張貼留言