PTA水仙数

844 ワード

水仙の数とは、Nビットの正の整数(N>=3)を指し、その各位置の数字のN乗の和はそれ自体に等しい.例えば153=1^3+5^3+3^3.すべてのNビットの水仙の数を計算する.
#include

int main()
{
    int n;
    scanf("%d", &n);
    //n = 3;

    int first = 1;
    int i = 1;
    while(i < n)
    {
        first *= 10;
        i++;
    }
    //printf("%d", first);

    i = first;
    while(i < first*10)
    {
        int t = i;
        int sum = 0;
        do
        {
            int d = t % 10;
            t /= 10;

            int temp = d;
            int j = 1;
            while(j < n)
            {
                temp *= d;
                j++;
            }

            sum += temp;

        }while(t > 0);

         if(sum == i)
        {
            printf("%d
", i); } i++; } return 0; }