用java判断水仙花数
时间: 2024-09-25 09:06:48 浏览: 45
水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
在Java中判断一个数是否为水仙花数可以按照以下步骤:
```java
public boolean isArmstrongNumber(int num) {
if (num < 100 || num > 999) {
return false; // 如果不是三位数,则不可能是水仙花数
}
int originalNum = num;
int sum = 0;
while (originalNum != 0) {
int digit = originalNum % 10;
sum += Math.pow(digit, 3); // 计算每一位立方
originalNum /= 10;
}
return sum == num; // 检查结果是否相等
}
```
你可以通过调用`isArmstrongNumber()`函数并传入待检查的整数来判断它是不是水仙花数。比如:
```java
int number = 153;
if (isArmstrongNumber(number)) {
System.out.println(number + " 是水仙花数");
} else {
System.out.println(number + " 不是水仙花数");
}
相关问题
java判断水仙花数
判断水仙花数的Java代码如下:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
for (int i = 100; i < 1000; i++) {
int a = i / 100;
int b = i / 10 % 10;
int c = i % 10;
if (a * a * a + b * b * b + c * c * c == i) {
System.out.println(i);
}
}
}
}
```
java判断水仙花数并输出第一个水仙花数
水仙花数是指一个三位数,其各位数字立方之和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
在Java中,你可以通过循环遍历从100到999的所有整数,然后检查每一位的立方和是否等于原始数来找到第一个水仙花数。下面是一个简单的示例代码:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
int i;
for (i = 100; i <= 999; i++) {
if (isNarcissistic(i)) {
System.out.println("第一个水仙花数是:" + i);
break;
}
}
}
// 检查一个数是否是水仙花数
private static boolean isNarcissistic(int number) {
int sumOfCubes = 0;
String numStr = String.valueOf(number);
for (char digit : numStr.toCharArray()) {
int digitValue = Character.getNumericValue(digit);
sumOfCubes += Math.pow(digitValue, 3);
}
return sumOfCubes == number;
}
}
```
当你运行这个程序,它会输出第一个水仙花数153。注意,如果存在多个水仙花数,此代码只会返回第一个找到的。
阅读全文