我家丫头的cpp

C语言求3到7位的水仙花数

2019-03-23  本文已影响0人  李药师_hablee
//求任意位数的水仙花数3<=n<=7

#include<stdio.h>

int main()
{
    int n,i;
    int first = 1;
    int p,sum;
    int t,d,j;
    printf("input n: ");
    scanf("%d",&n);
    //求出最开始遍历的数 
    for(i=1;i<n;i++)
    {
        first = first*10;
    }
    //开始遍历 
    for(i=first;i<first*10;i++)
    {
        sum = 0;
        t = i;
        do
        {
        d = t%10;
        t = t/10;
        p = 1;
        for(j=1;j<=n;j++)
        {
            p = p*d;
        }
        sum = sum + p;      
        }while(t>0);
        if(sum==i)
        {
        printf("%d\n",i);
        }
    }
    return 0;   
}

输出

输出.PNG
上一篇 下一篇

猜你喜欢

热点阅读