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

三位数的凌波仙子数

2012-06-20 
三位数的水仙花数。class Demo{public static void main(String[] args){int a,b,c,water100while(water

三位数的水仙花数。
class Demo 
{
public static void main(String[] args) 
{

int a,b,c,water=100;
while(water<=999)
{
a=water%10;
b=water%1000/10;
c=water/100;
if(a*a*a+b*b*b+c*c*c==water)
{
System.out.print(water+" ");
}
water++;
}


}
}
如果a,b,c的立方和等于water就输出water,我讲循环在for循环运行成功,但是放到while就不懂错哪里。感激好人的回答,谢谢

[解决办法]

Java code
    public static void main(String[] args) {        // TODO Auto-generated method stub        int a,b,c,water=100;        while(water<999){            a=water/100;       //取百位            b=(water-100*a)/10; //取十位            c=water-100*a-10*b;  //取个位            if(a*a*a+b*b*b+c*c*c==water){                System.out.print(water+" ");            }            water++;        }    }
[解决办法]
b 取值有问题, b=water%1000/10,这样得到的b 是个2位数。
应该是: b=water%100/10; 这样得到的是中间的那个数。
[解决办法]
楼主 你个位数 十位数 百位数的取法不对 楼上的取法可行 另外 个位数也可以这样取 c = water%10 十位数可以这样取 b = ((water-c)/10)%10 百位数 water/100 这样是比较简单的取法了
[解决办法]
探讨
楼主 你个位数 十位数 百位数的取法不对 楼上的取法可行 另外 个位数也可以这样取 c = water%10 十位数可以这样取 b = ((water-c)/10)%10 百位数 water/100 这样是比较简单的取法了

热点排行
Bad Request.