CPE 一顆星
題目連結:https://zerojudge.tw/ShowProblem?problemid=c032
內容
若一數其因數和(不含自己)等於此數,則為 Perfect Number。
6 = 1 + 2 + 3,28 = 1 + 2 + 4 + 7 + 14。
若小於則為 deficient,大於則為 abundant。
有一連串(不超過100個)正整數 n (1 <= n <= 60000),判斷此數是 perfect, deficient 或著 abunddant。
n = 0 結束。
輸出時數字部分佔5個字元長度,靠右對齊。與後方的敘述間空2個空白格。
範例輸入
15 28 6 56 60000 22 496 0
範例輸出
PERFECTION OUTPUT
15 DEFICIENT
28 PERFECT
6 PERFECT
56 ABUNDANT
60000 ABUNDANT
22 DEFICIENT
496 PERFECT
END OF OUTPUT
想法
由於數字數量很少(不超過100個),因此讀取的時候計算就好了。
開一變數紀錄因數和,接著用一迴圈從1跑到n-1,若整除則加進變數。
最後可用 setw() 對齊。
程式碼
C++
1 |
|