1000以内有多少水仙花数(寻找水仙花数)

题目要求:

如果一个3位数等于其各位数字的立方和,则称这个数为水仙花数。例如:407=43 03 73,因此407就是一个水仙花数。编写一个程序,找出全部的水仙花数。

题目分析:

水仙花数是三位数,只要应用穷举法穷举出100~999闭区间中的每一个数字(正整数),然后对每一个正整数进行判断,看它是不是水仙花数,如果是水仙花数,则将该数输出,如果不是水仙花数,则不输出该数。

int IsNarcissus(int a); void Narcissus(); void main() { printf("The Narcissus numbers below are\n"); Narcissus(); getche(); } void Narcissus() { /*寻找100-999之间的水仙花数*/ int i; for(i=100;i<=999;i ) if(IsNarcissus(i)) printf("%d ",i); } int IsNarcissus(int a) { /*判断是否是水仙花数,是则返回1,不是返回0*/ int sum=0,tmp; tmp=a; while(tmp>0) { sum=sum (tmp)* (tmp)*(tmp); tmp=tmp/10; } if(sum==a) return 1; /*a 是水仙花数*/ else return 0; /* a 不是水仙花数*/ }

运行结果:

1000以内有多少水仙花数(寻找水仙花数)(1)

运行结果

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页