package extended.exercises; /** * 题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数, * 其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",因为 * 153=1的三次方+5的三次方+3的三次方。 * * 1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。 */ public class ExetendedExercises02 { public static void main(String[] args) { for(int i=100;i<=999;i++){ int a,b,c; a = i%10;//i取余10得到个位数 b = i/10%10;//i除以10取余10得到十位数 c = i/100%10;//i除以100取余10得到百位数 if(i == (Math.pow(a,3)+Math.pow(b,3)+Math.pow(c,3)) ){// i = a的3次方+b的三次方+c的三次方 System.out.println(i+"是水仙花数"); } } } } 结果: 153是水仙花数 370是水仙花数 371是水仙花数 407是水仙花数 用于练习记录,如有侵权,请联系删除
经典算法题库小练习(附带注释)
于 2022-07-27 22:33:04 首次发布