大家好,欢迎来到IT知识分享网。
题目要求:
如果一个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%10)* (tmp%10)*(tmp%10); tmp=tmp/10; } if(sum==a) return 1; /*a 是水仙花数*/ else return 0; /* a 不是水仙花数*/ }
运行结果:
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/86042.html