public class test2 {
public static void main(String[] args) {
int sum,a,b,c;
int m=100;
while(m<1000){
a=m/100;//取出个位上的值
b=m%100/10;//取出十位数的值
c= m %10;//取出百位数的值
sum=a*a*a+b*b*b+c*c*c;
if(sum==m){
System.out.println(m);
}
m+=1;
}
}
}
所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。首先初始化 m=100;使用while语句取出100到1000的水仙花数。在编程时,刚开始没有看清题意,只是做了个水仙花的判断。后来审题时才发现自己的错误。
输出结果如下: