package com.it;
/*
* 水仙花数:
* 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和
* 等于该数本身.例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方.
*
* 需求分析:
* 三位数:排除前面为0的情况并不考虑全部为0的情况,100~999
* 个位的三次方+十位的三次方+百位的三次方==这个数本身
*/
public class Daffodil {
// 主方法
public static void main(String[] args) {
// 循环三位数100~999
for (int i = 100; i < 1000; i++) {
//判断是否为true
if (getDaffodil(i)==true) {
//输出索引水仙花数
System.out.println("水仙花数为:"+i);
}
}
}
//判断是否符合水仙花的条件的方法
public static boolean getDaffodil(int num) {
// 求个位
int unit = num % 10;
//求十位
int decade = num/10%10;
//求百位
int hundreds = num/10/10%10;
//返回状态
return unit*unit*unit+decade*decade*decade+hundreds*hundreds*hundreds==num;
}
}
水仙花数
最新推荐文章于 2023-10-15 11:10:23 发布