水仙花数是三位数中各位数字立方和等于自身的数,如153;需遍历100–999,用整除与取模分离百、十、个位并验证立方和是否相等。

水仙花数(Narcissistic Number)是指一个三位数,其各位数字的立方和等于该数本身。比如 153 = 1³ + 5³ + 3³ = 1 + 125 + 27 = 153,所以 153 是水仙花数。
明确范围和拆解逻辑
Java 中判断水仙花数,通常针对三位数(100–999),因为“水仙花数”在经典定义中特指三位的自幂数(每位数字的三次方之和)。要实现,关键分两步:
- 用循环遍历所有三位数(100 到 999)
- 对每个数,分离出百位、十位、个位,计算立方和,再用条件判断是否相等
用取模和整除分离各位数字
对一个三位数 num,可用以下方式快速拆解:
- 百位:num / 100
- 十位:(num % 100) / 10 或 (num / 10) % 10
- 个位:num % 10
例如 num = 371:
371 / 100 → 3(百位)
371 / 10 → 37,37 % 10 → 7(十位)
371 % 10 → 1(个位)
完整可运行代码示例
下面是一个用 for 循环 + if 条件实现的简洁版本:
public class NarcissisticNumber {
public static void main(String[] args) {
System.out.println("三位水仙花数有:");
for (int i = 100; i <p>运行结果输出:153、371、407 —— 这是全部三位水仙花数。</p><h3>扩展提示:支持任意位数(可选)</h3><p>若想推广到 n 位数(如四位的“四叶玫瑰数”),需先求位数(用循环或 String.length()),再用 Math.pow 或循环累乘计算每位的 n 次方。但注意:Math.pow 返回 double,比较时建议转为 long 并避免浮点误差。</p>Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











