1352: 特殊水仙花数

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:1 解决:1

题目描述

打印出所有"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该本身。 例如:153是一个水仙花数,因为153=1^3+5^3+3^3。先要求输出特殊的水仙花数,不仅仅是有三位数,还包括四位数,五位数,六位数,比如

五位数92727 = 9^5+2^5+7^5+2^5+7^5, 五位数就是万,千,百,十,个每位数的5次方,其他位数类似。

输入

第一行输入要测试的组数n

接着输入要测试的位数num (3<=num<=6),3代表3位数,4代表4位数,5代表5位数,6代表6位数

输出

输出要测试位数的特殊水仙花数,每输出一个换一行。

样例输入 复制

4
3
4
5
6

样例输出 复制

153
370
371
407
1634
8208
9474
54748
92727
93084
548834

提示

#include <stdio.h>
int main(void)
{
    int n;
    int num;
    int i,ie;
    int j;
    int a,b,c,d,e,f;
    scanf("%d",&n);
    while(n--)
    {
        scanf("%d",&num);
        switch(num)
        {
            case 3:   //三位数
                i = 100;ie = 999;
                for(j = i; j <= ie;j++)
                {
                    a = j % 10;
                    b = j /10 % 10;
                    c = j / 100;
                    if(j == a*a*a+b*b*b+c*c*c)
                    {
                        printf("%d\n",j);
                    }
                }
                break;
            case 4: //四位数
                i = 1000;ie = 9999;
                for(j = i; j <= ie;j++)
                {
                    a = j % 10;
                    b = j/10 % 10;
                    c = j / 100 % 10;
                    d = j / 1000;
                    if(j == a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d)
                    {
                        printf("%d\n",j);
                    }
                }
                break;
            case 5:
                i = 10000;ie = 99999;
                for(j = i; j <= ie;j++)
                {
                    a = j % 10;
                    b = j /10 % 10;
                    c = j / 100 % 10;
                    d = j / 1000 % 10;
                    e = j / 10000;
                    if(j == a*a*a*a*a+b*b*b*b*b+c*c*c*c*c+d*d*d*d*d+e*e*e*e*e)
                    {
                        printf("%d\n",j);
                    }
                }
                break;
            case 6:
                i = 100000;ie = 999999;
             //填入代码
                break;
        }
    }
    return 0;
}