java习题4_6水仙花数是指其个位、十位和百位三个数字的平方和等于这个三位数本身,求出所有的水仙花数。
时间: 2024-09-17 10:04:23 浏览: 59
水仙花数(又称 narcissistic number 或 pluperfect digital invariant),是指一个三位数,其各位数字的立方和等于该数本身。例如,153 是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 153。
在 Java 中,你可以通过遍历从 100 到 999 的所有三位数,对每个数进行分解并计算各位数字的立方和,然后比较是否相等,来找出所有的水仙花数。下面是一个简单的 Java 代码示例:
public class NarcissisticNumbers {
public static void main(String[] args) {
for (int num = 100; num <= 999; num++) {
if (isNarcissistic(num)) {
System.out.println(num);
}
}
}
// 检查一个数是否是水仙花数
public static boolean isNarcissistic(int num) {
int digits[] = new int[3];
int sum = 0;
// 分解数字到数组中
String strNum = String.valueOf(num);
for (int i = 0; i < 3; i++) {
digits[i] = Character.getNumericValue(strNum.charAt(i));
}
// 计算每位数字的立方和
for (int digit : digits) {
sum += Math.pow(digit, 3);
}
// 比较原数与立方和是否相等
return sum == num;
}
}
当你运行这段代码,它会打印出所有在 100 到 999 范围内的水仙花数。
相关推荐


















