水仙花数java代码
时间: 2023-09-07 12:04:15 浏览: 124
### 回答1:
以下是水仙花数的 Java 代码:
```
public class NarcissisticNumber {
public static void main(String[] args) {
for (int i = 100; i < 1000; i++) {
int a = i % 10;
int b = i / 10 % 10;
int c = i / 100;
if (i == (a * a * a + b * b * b + c * c * c)) {
System.out.println(i);
}
}
}
}
```
这段代码遍历了 100 到 999 之间的数字,并判断每个数字是否为水仙花数。如果是,则将其输出。
### 回答2:
水仙花数是指一个三位数,其各个位上的数字的立方和等于该数本身。也就是说,如果一个三位数abc满足abc = a^3 + b^3 + c^3,那么abc就是一个水仙花数。
下面是一个用Java语言编写的水仙花数的代码:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
for (int num = 100; num <= 999; num++) {
int hundredsDigit = num / 100; // 获取百位数字
int tensDigit = (num / 10) % 10; // 获取十位数字
int onesDigit = num % 10; // 获取个位数字
int sumOfCubes = (int) (Math.pow(hundredsDigit, 3) + Math.pow(tensDigit, 3) + Math.pow(onesDigit, 3));
if (sumOfCubes == num) {
System.out.println(num + "是一个水仙花数。");
}
}
}
}
```
这段代码中,我们使用一个for循环遍历所有的三位数。在每次循环中,我们通过除法和取余运算获取该数字的百位、十位和个位数字。然后我们计算这三个数字的立方和,并与原数字进行比较。如果相等,就打印出该数字是一个水仙花数。
运行这段代码,将输出所有的水仙花数。
### 回答3:
水仙花数是指一个n位数(n≥3),其每个位上的数字的n次幂之和等于该数本身。例如,153是一个水仙花数,因为1³ + 5³ + 3³ = 153。
以下是一个用Java编写的水仙花数代码示例:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
for (int i = 100; i < 1000; i++) {
if (isNarcissisticNumber(i)) {
System.out.println(i);
}
}
}
// 判断一个数字是否为水仙花数
public static boolean isNarcissisticNumber(int number) {
int originalNumber = number;
int sum = 0;
int digits = String.valueOf(number).length();
while (number > 0) {
int digit = number % 10;
sum += Math.pow(digit, digits);
number /= 10;
}
return sum == originalNumber;
}
}
```
以上代码从100到999的范围内遍历每个数,然后通过`isNarcissisticNumber`方法判断该数是否为水仙花数。`isNarcissisticNumber`方法首先保存原始的数字,然后计算每个位上数字的n次幂之和`sum`,最后与原始数字比较是否相等,如果相等返回`true`,否则返回`false`。如果判断为水仙花数,则将其打印输出。
阅读全文