当前位置: 首页 > >

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("
");


??????????????????????????? }


??????????????????????????? printf("%d",i);


???????????????????? }


??????????????? }


??????????????? printf("
");


}? ? ??



友情链接: