循环求值问题之二
打印1到10000范围内的水仙花数。水仙花数是指一个三位数,各位数的立方和等于这个数。如153,1的立方加5的立方加3的立方等于153。这个做了很久还是没做出来。--------------------编程问答--------------------
--------------------编程问答-------------------- 最笨的方法就是用循环了。没做出来?
public static void main(String[] args) {
String s;
int temp = 0;
for(int i=100;i<1000;i++){
s=String.valueOf(i);
for(int j=0;j<s.length();j++){
temp+=(int)Math.pow(Double.parseDouble(String.valueOf(s.charAt(j))), 3);
}
if(i==temp){
System.out.println(i);
}
temp=0;
}
}
for(int i=100;i<1000;i++){--------------------编程问答--------------------
int x=i%10;//取个位数
int y=i/100;//取百位数
int z=(i-y*100-x)/10;
if(x*x*x+y*y*y+z*z*z==i)
System.out.println(i);
}
既然水仙花为三位数 ,为什么还要1到10000范围内的水仙花数呢? 直接说100到1000之间不就行了。lz没看错问题? --------------------编程问答--------------------
同意楼上!
补充:Java , Java SE