判断水仙花数,一个三位数且各位数的立方之和等于该数本身,请打印第一个水仙花数。
时间: 2024-10-08 09:04:14 浏览: 12
在Java中,判断一个三位数是否为“水仙花数”(也称为纳皮尔数),我们需要遍历100到999之间的每一个三位数,对每一位进行立方运算,然后检查这些立方数相加的结果是否等于原始的三位数。以下是具体的代码实现:
```java
for (int num = 100; num < 1000; num++) {
int hundreds = num / 100; // 取百位
int tens = (num % 100) / 10; // 取十位
int units = num % 10; // 取个位
// 立方并求和
int sumOfCubes = hundreds * hundreds * hundreds + tens * tens * tens + units * units * units;
// 检查是否等于原数
if (sumOfCubes == num) {
System.out.println(num); // 打印第一个水仙花数
break; // 结束循环,因为我们只需要找到第一个水仙花数
}
}
```
这段代码会立即打印出第一个水仙花数,因为它是递增查找的。
相关问题
java判断水仙花数,一个三位数且各位数的立方之和等于该数本身,请打印第一个水仙花数
水仙花数是指一个三位数,其各位数字(百位、十位和个位)的立方和等于该数本身的整数。在Java中,我们可以编写一个简单的程序来寻找并打印出第一个水仙花数。下面是一个示例:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
for (int num = 100; num <= 999; num++) { // 遍历100到999之间的所有三位数
int hundreds = num / 100;
int tens = (num % 100) / 10;
int ones = num % 10;
if (cubeSum(hundreds, tens, ones) == num) { // 检查是否满足条件
System.out.println("第一个水仙花数是: " + num);
break; // 找到后立即退出循环
}
}
}
// 计算数字各位的立方和
private static int cubeSum(int a, int b, int c) {
return Math.pow(a, 3) + Math.pow(b, 3) + Math.pow(c, 3);
}
}
```
当运行这个程序,你会看到输出的第一个水仙花数是 `153`。
判断水仙花的个数,一个三位数且个位数的立方之和等于该数本身,打印出第一个水仙花数
在Java中,判断一个三位数是否为水仙花数的一种常见方法是遍历所有可能的三位数,并检查其各位数字的立方和是否等于原数。下面是一个简单的示例:
```java
public class Main {
public static void main(String[] args) {
for (int i = 100; i <= 999; i++) {
if (is narcissistic(i)) {
System.out.println("The first narcissistic number is: " + i);
break; // 找到第一个就停止循环
}
}
}
// 检查一个数是否为水仙花数( Narcissistic Number)
public static boolean isNarcissistic(int num) {
String strNum = String.valueOf(num);
int[] digits = new int[strNum.length()];
for (int i = 0; i < strNum.length(); i++) {
digits[i] = Character.getNumericValue(strNum.charAt(i));
}
int sum = 0;
for (int digit : digits) {
sum += Math.pow(digit, 3); // 计算各位数字的立方和
}
return sum == num; // 返回立方和是否等于原始数
}
}
```
这段代码会从100开始逐个检查直到999,找到第一个满足条件的水仙花数并打印出来。如果没有任何这样的数存在,程序将不会输出任何内容。