水仙花数java
时间: 2023-09-24 19:02:52 浏览: 57
水仙花数是指一个n位正整数(n≥3),它的每个位上的数字的n次幂之和等于它本身。例如:153=1³+5³+3³。
下面是一个 Java 代码示例:
```
public class NarcissisticNumber {
public static void main(String[] args) {
int n = 3; // n位数
for (int i = 1; i < Math.pow(10, n); i++) {
int sum = 0;
int temp = i;
while (temp > 0) {
int digit = temp % 10;
sum += Math.pow(digit, n);
temp /= 10;
}
if (sum == i) {
System.out.println(i);
}
}
}
}
```
代码中,我们通过循环枚举从 1 到 10^n-1 的所有 n 位正整数,然后计算每个数的每个位数的 n 次幂之和,如果和等于该数本身,则输出该数。
相关问题
判断水仙花数java
水仙花数是指一个三位数,它的各个位上的数字的立方和等于它本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
在Java中,可以使用以下代码来判断一个数是否为水仙花数:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
int number = 153;
int originalNumber = number;
int result = 0;
while (number != 0) {
int remainder = number % 10;
result += Math.pow(remainder, 3);
number /= 10;
}
if (result == originalNumber) {
System.out.println(originalNumber + "是水仙花数");
} else {
System.out.println(originalNumber + "不是水仙花数");
}
}
}
```
上述代码中,我们使用了一个while循环来计算每个位上数字的立方和,并将结果与原始数字进行比较,从而判断是否为水仙花数。
寻找水仙花数java
水仙花数是指一个 n 位数(n≥3),它的每个位上的数字的 n 次幂之和等于它本身。例如:153=1³+5³+3³。
以下是寻找水仙花数的Java代码:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
for (int i = 100; i < 1000; i++) {
int unitsDigit = i % 10;
int tensDigit = (i / 10) % 10;
int hundredsDigit = (i / 100) % 10;
if (i == unitsDigit * unitsDigit * unitsDigit + tensDigit * tensDigit * tensDigit + hundredsDigit * hundredsDigit * hundredsDigit) {
System.out.println(i);
}
}
}
}
```