日期:2014-05-20 浏览次数:20947 次
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 这样是比较简单的取法了
------解决方案--------------------