黑马程序员技术交流社区

标题: 菜鸡求助!为什么用此方法能求出水仙花数,而四叶玫瑰数却... [打印本页]

作者: -律-    时间: 2014-12-12 01:06
标题: 菜鸡求助!为什么用此方法能求出水仙花数,而四叶玫瑰数却...


class Title2
{
public static void main(String[] args)
{
for (int num = 100; num < 1000; num++)
{
int b = num / 100;
ints = num / 10 % 10;
intg = num % 10;

if (b*b*b+s*s*s+g*g*g == 100*b+10*s+g)
System.out.println("打印出的水仙花数有:"+ num);
}
for (int num = 1000; num < 10000; num++)
{
int q = num / 1000;
int b = num / 100 % 10;
int s = num / 10 % 10;
int g = num % 10;


if (q*q*q+b*b*b+s*s*s+g*g*g == 1000*q+100*b+10*s+g)
System.out.println("打印出的四叶玫瑰数有:"+ num);
}
}
}
我哪里错了?

作者: zhaozhao    时间: 2014-12-12 10:24
你的四叶玫瑰if中应该为:q*q*q*q+b*b*b*b+s*s*s*s+g*g*g*g == num,因为“四叶”的定义为:各个位上的4次方之和等于这个数!另外,前面的:b*b*b+s*s*s+g*g*g == 100*b+10*s+g改为:b*b*b+s*s*s+g*g*g == num)即可,不用再算一遍num了!
作者: Afridoce    时间: 2014-12-12 13:32
进来学习下
作者: 史云龙    时间: 2014-12-12 13:55
四位数各位上的数字的四次方之和等于本身为四叶玫瑰数。
作者: -律-    时间: 2014-12-12 23:58
哦,是的,我改过来就成了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2