1. 程式人生 > >自冪數(水仙花數)

自冪數(水仙花數)

程式碼:

bool narcissistic(int number)
{
    int answer = 0, digit = 0;

    for (int otherNumber = number; otherNumber > 0; otherNumber /= 10)
        digit++;

    for (int otherNumber = number; otherNumber > 0; otherNumber /= 10)
        answer = answer + pow(otherNumber % 10, digit);

    if (number == answer) return true;
    else return false;
}

定義:

水仙花數只是自冪數的一種,嚴格來說3位數的3次冪數才稱為水仙花數。

  • 附:其他位數的自冪數名字
    一位自冪數:獨身數
    兩位自冪數:沒有
    三位自冪數:水仙花數
    四位自冪數:四葉玫瑰數
    五位自冪數:五角星數
    六位自冪數:六合數
    七位自冪數:北斗七星數
    八位自冪數:八仙數
    九位自冪數:九九重陽數
    十位自冪數:十全十美數

常見水仙花數:

  • 水仙花數又稱阿姆斯特朗數。

三位的水仙花數共有4個:153,370,371,407;
四位的四葉玫瑰數共有3個:1634,8208,9474;
五位的五角星數共有3個:54748,92727,93084;
六位的六合數只有1個:548834;
七位的北斗七星數共有4個:1741725,4210818,9800817,9926315;
八位的八仙數共有3個:24678050,24678051,88593477
……