标题:请问我想输出4位数的水仙花数怎么输出不了
只看楼主
不穿胖次的猫
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2018-4-22
结帖率:100%
已结贴  问题点数:20 回复次数:3 
请问我想输出4位数的水仙花数怎么输出不了
水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。就是153=(1*1*1)+(5*5*5)+(3*3*3)
我想输出四位的水仙花数怎么输出不了
#include<stdio.h>
int main()
{
  int a=1000,b,c,d,e;
    for(a=1000;a<=9999;a++){
      b=a/1000;
      c=a%1000/100;
      d=a%100/10;
      e=a%10;
      if(a==(b*b*b)+(c*c*c)+(d*d*d)+(e*e*e))
      printf("%d\n",a);}
return 0;
}
搜索更多相关主题的帖子: 输出 位数 水仙花数 int main 
2018-04-22 17:45
不穿胖次的猫
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2018-4-22
得分:0 
但是我用这方法能输出3位的水仙花数
#include<stdio.h>
int main()
{
  int a=100,b,c,d;
    for(a=100;a<=999;a++){
      b=a/100;
      c=a%100/10;
      d=a%10;
      if(a==(b*b*b)+(c*c*c)+(d*d*d))
      printf("%d\n",a);}
return 0;
}
2018-04-22 17:50
jianggehappy
Rank: 2
等 级:论坛游民
帖 子:7
专家分:20
注 册:2018-4-22
得分:20 
四位数字肯定就是四次幂啊:改为if(a==(b*b*b*b)+(c*c*c*c)+(d*d*d*d)+(e*e*e*e))就行了。
2018-04-22 18:01
不穿胖次的猫
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2018-4-22
得分:0 
回复 3楼 jianggehappy
这。。。。我以为是3次幂,我就说怎么输出不了,谢谢了
2018-04-22 18:07



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-486284-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.344411 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved