C语言编程--水仙花数

如果一个3位数等于其各位数字的立方和,则称这个数为水仙花数

 

算法分析:

首先是一个三位数,即从100到999之间

然后是得到每一位上的数字,存到一个数组里

再分别计算看结果是否和这个数相等

 

源码:

#include

int n=0;

int func(int i)

{

                int s=0;

                int m=0;

                int j=0;

                int sum=0;

                s=i;

                for(j=0;j<3;j++)

                {

                     m=s%10;

                     sum+=m*m*m;

                     s=s/10;

                }

                if(sum == i)

                {

                     n++;

                     return i;

                }

                return 0;

}

int main()

{

                int i=1;

                int k=0;

                for(i=100;i<=999;i++)

                {

                     if(func(i))

                     {

                            if(n%5==0)

                            {

                                   n=1;

                                   printf("\n");

                            }

                            printf("%d",i);

                     }

                }

                printf("\n");

}      

你可能感兴趣的:(C学习笔记)