2025年1月31日 星期五 甲辰(龙)年 冬月廿九 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > C语言

水仙花数问题

时间:01-03来源:作者:点击数:50

求所有的水仙花数,将各个水仙花数存放到一个数组中并在屏幕上打印出来。所谓水仙花数是指一个三位正整数,它各位数字的立方之和等于此正整数。例如,153是一个水仙花数,因为153=13+53+33。 

分析:

① 使用穷举法,测试所有的三位正整数。

② 测试的次数固定,适合于使用for循环。

③ 设这个三位正整数为u,则:
         百位上的数为a=u/100;
         十位上的数为b=u/10-a*10;
         个位上的数为c=u-a*100-b*10。 

程序如下:

  • main( )
  • {
  • int a,b,c,x[999],u, i=0,j;
  • printf("The result is : \n");
  • for (u=100;u<1000;u++)
  • {
  • a=u/100; /*百位上的数*/
  • b=u/10-a*10; /*十位上的数*/
  • c=u-a*100-b*10; /*个位上的数*/
  • if (a*100+b*10+c==a*a*a+b*b*b+c*c*c)
  • {
  • x[i]=u;
  • i++;
  • }
  • }
  • for (j=0;j printf("%8d",x[j]);
  • }

运行结果为:The result is :153 370 371 407 

请思考:请你用别的编程方法再解此题。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门