【程序 3 水仙花数】
题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例
如:153 是一个"水仙花数",因为 153=1 的三次方+5 的三次方+3 的三次方。
程序分析:利用 for 循环控制 100-999 个数,每个数分解出个位,十位,百位。
源码:
package com.homework.test; /* 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例 如:153 是一个"水仙花数",因为 153=1 的三次方+5 的三次方+3 的三次方。 程序分析:利用 for 循环控制 100-999 个数,每个数分解出个位,十位,百位。 */ public class NarcissisticNumber { public static void main(String[] args){ for (int i = 100; i <= 999; i++) { if (fun(i)) { System.out.println(i); } } } /* 判断是否为水仙花数 */ public static boolean fun(int num){ int unit = num % 10; int decade = (num / 10) % 10; int hundred = num / 100; // System.out.print(hundred +" "); // System.out.print(decade+" "); // System.out.print(unit+" "); if (unit*unit*unit + decade*decade*decade + hundred*hundred*hundred == num) return true; else return false; } }