一正整數的真因數和為其本身,則我們稱此數為"完美數"(perfect number),例如6的真因數為1, 2, 3,且6=1+2+3,則6為完美數。
我們定義公式:p = (2^(k-1)) * ((2^k) - 1)。本題給定整數k,請你判斷相對應的p是否為一完美數。
Input
輸入的每一列為一整數 k (1 < k <= 31),當k=0表示測試資料結束。
Output
若每組測試資料的p為完美數,請輸出:
Perfect: p!
若p不為完美數,且k為質數,請輸出:
Given number is prime. But, NO perfect number is available.
若p不為完美數,且k不為質數,請輸出:
Given number is NOT prime! NO perfect number is available.
Sample Input
2
3
6
0
Sample Output
Perfect: 6!
Perfect: 28!
Given number is NOT prime! NO perfect number is available.
沒有留言:
張貼留言