Java判断某个数是否为水仙花数
时间: 2024-09-23 20:12:20 浏览: 67
水仙花数是一个特殊的整数,它的每个位数字的立方和等于它本身。例如,153是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153。
在Java中,你可以编写一个函数来检查一个数是否是水仙花数。这里是一个简单的示例:
```java
public class NarcissisticNumber {
public static boolean isNarcissistic(int number) {
if (number < 0) {
return false; // 水仙花数是非负整数
}
int sumOfCubes = 0;
String numStr = Integer.toString(number); // 转换为字符串便于取每一位
for (char digit : numStr.toCharArray()) {
int digitValue = Character.getNumericValue(digit);
sumOfCubes += Math.pow(digitValue, 3); // 计算每位立方并累加
}
return sumOfCubes == number; // 如果累加的结果等于原数,则是水仙花数
}
public static void main(String[] args) {
System.out.println(isNarcissistic(153)); // 输出 true
System.out.println(isNarcissistic(370)); // 输出 true
System.out.println(isNarcissistic(380)); // 输出 false
}
}
```
在这个程序中,`isNarcissistic` 函数首先检查输入的数是否非负,然后计算其每一位的立方,并将结果累加。如果最终的累加和等于原始数,那么该数就是水仙花数。
阅读全文