首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

凌波仙子数代码

2013-02-02 
水仙花数代码public class shuixianhua{public static void main (String args[]){int a1int b1int c

水仙花数代码

public class shuixianhua
{
public static void main (String args[])
{
int a=1;
int b=1;
int c=1;
int i=100;
for(;i<=1000;i++)
{
for(;a<=9;a++)
  {
     for(;b<=9;b++)
      {
for(;c<=9;c++)
  {
//if(a==1 && b==5 && c==3)
//{System.out.println(i);}
  if(((a*a*a)+(b*b*b)+(c*c*c))==i)
  {
   System.out.println(i);
  }
  }
      }
   }//System.out.println(""+a+b+c);
}
System.out.println("wrong"+a+b+c+i);
}
}


看不出哪里错了导致的输出不对
[解决办法]
套了4层for
[解决办法]

public class Test3
{
  public static void main(String[] args)
  {
   for(int i=100;i<999;i++)
   {
    int g=(i%100)%10;
    int s=(i%100)/10;
    int b=(i/100);
    if(g*g*g+s*s*s+b*b*b==i)
    {
     System.out.println(i);
    }
   }
  }
}


标准的。
另外:
http://houhuan0506.blog.163.com/blog/static/1194278020102225157738/
java50题以及答案。。当初我学java就是从这里开始的。。
现在回头看看,50题好简单,但是当初就感觉好难。。

[解决办法]
引用:
你的变量 如 c 在第四层for走完之后c=9 b=1;当b=2的时候 c=9 第四层for不会走了
要么int i=100在for里面声明
要么在for结束直接 变量重新初始化赋值。

+1

public class shuixianhua
{
        public static void main (String args[])
        {
            int a=1;
            int b=0;
            int c=0;
            for(;a<=9;a++)
            {
                for(;b<=9;b++)
                {
                    for(;c<=9;c++)
                    {
                        if(((a*a*a)+(b*b*b)+(c*c*c))==(a*100+b*10+c))
                        {
                            System.out.println("水仙花数"+a+b+c);


                        }
                    }
                    c=0;
                }
                b=0;
            }
        }
}

热点排行