水仙花数
今天遇到的题目是:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
很简单的题 这里我重点要讲的是 如何取出三位数的个位 十位 百位
比如我的这个代码
public class shuixianhuashu {
public static void main(String[] args) {
// TODO Auto-generated method stub
for(int i=100;i<999;i++) {
int b,s,g;
b=i/100%10;
s=i/10%10;
g=i/1%10;
int x;
x= (b*b*b)+(s*s*s)+(g*g*g);
if((b*b*b)+(s*s*s)+(g*g*g)==i) {
System.out.println(i);
}
else {
continue;
}
}
}
}
其中b,s,g 就分别对应的百位数字,十位数字,个位数字。红标部分则是简便算法,
在做判断时,遇到了问题(b*b*b)+(s*s*s)+(g*g*g) 不等于 b^3+s^3+g^3
具体原因未知 渴望有大神给我讲解一下。(鞠躬)
相关阅读
水仙花数是指一个数各位上的数字的立方和等于该数本身 1,输入一个三位数,看它是否为水仙花数: 2,输出所有的三位水仙花数: