什么是水仙花数
水仙花数是指一个 3 位数,它的每个位上的数字的
3次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)。
算法分析
1.水仙花数是一个三位数,所以它的取值范围是100 ~ 999,所以我们需要循环遍历100~999的数.
2.水仙花数每个位上的数字的3次幂之和等于它本身,因此我们想要判断一个三位数是不是水仙花数需要把它的三个位数分别取出.
百位: 拿678为例
因为java中两个int类型做除法,得到的结果还是int类型的值
所以直接将678除以100得到百位数
个位:直接将678%10=8
十位:将678除以10得到67,再将67%10=7
3.判断取出的三个位数的 3次幂之和是否等于它本身,是则输出.
代码
public static void main(String[] args) {
int gw;//个
int sw;//十
int bw;//百
int sxh;//水仙花数
for ( sxh = 100; sxh < 1000; sxh++) {
bw=sxh/100;
sw=sxh/10%10;
gw=sxh%10;
if (sxh==bw*bw*bw+sw*sw*sw+gw*gw*gw) {
System.out.println(sxh);
}
}
}