java做水仙花数
时间: 2023-08-22 12:05:50 浏览: 47
水仙花数是指一个3位数,它的每个位上的数字的立方和等于它本身。例如153就是一个水仙花数,因为153=1^3+5^3+3^3。
以下是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 + "是水仙花数");
}
}
}
}
```
程序首先从100开始遍历到999,然后分别取出每个数的百位、十位和个位数字,计算它们的立方和是否等于该数本身,如果是就输出该数是水仙花数。
相关问题
java查找水仙花数
在Java中,水仙花数是指一个三位数,其各个位上的数字的立方和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^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;
while (number > 0) {
int digit = number % 10;
sum += Math.pow(digit, 3);
number /= 10;
}
return sum == originalNumber;
}
}
```
这个程序会输出所有的三位水仙花数。它通过循环遍历从100到999的所有数字,然后使用`isNarcissisticNumber`方法来判断每个数字是否是水仙花数。`isNarcissisticNumber`方法将数字的每个位上的数字的立方相加,并与原始数字进行比较,如果相等则返回`true`,否则返回`false`。
使用java输出水仙花数
以下是使用Java输出水仙花数的代码:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
int a, b, c;//定义三位数中的个十百位数
System.out.println("三位数中所有的水仙花数为: ");//输出所有的水仙花数
for (int n = 100; n <= 999; n++) {//控制100-999个数
a = n / 100;//百位上的数
b = n % 100 / 10;//十位上的数
c = n % 10;//个位上的数
if (a * a * a + b * b * b + c * c * c == n) {//判断是否为水仙花数
System.out.println(n);//输出水仙花数
}
}
}
}
```