用Java写一个水仙花
时间: 2024-06-01 16:12:06 浏览: 46
public class NarcissisticNumber {
public static void main(String[] args) {
for (int i = 100; i <= 999; 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³ + 5³ + 3³ = 153。
以下是用 Java 编写判断一个数是否为水仙花数的代码示例:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
int num = 153;
int digit1 = num / 100; // 获取百位数字
int digit2 = (num / 10) % 10; // 获取十位数字
int digit3 = num % 10; // 获取个位数字
int sum = digit1 * digit1 * digit1 + digit2 * digit2 * digit2 + digit3 * digit3 * digit3; // 求立方和
if (sum == num) {
System.out.println(num + "是一个水仙花数");
} else {
System.out.println(num + "不是一个水仙花数");
}
}
}
```
在上述代码中,首先定义一个整数变量 num,表示要判断的数是多少。然后,分别使用除法和取模运算获取该数的百位、十位和个位数字,并计算它们的立方和。最后,使用 if-else 语句判断是否为水仙花数,并输出相应的结果。
用java写一个水仙花数
### 回答1:
你好! 下面是用 Java 写的一个程序来检测一个数是不是水仙花数:
```
public class NarcissisticNumber {
public static void main(String[] args) {
int num = 153; // 要检测的数字
int sum = 0; // 保存各位数字的立方和
int n = num; // 保存原数字
while (n > 0) {
int d = n % 10; // 取出个位数字
sum += d * d * d; // 累加立方和
n /= 10; // 去掉个位
}
if (sum == num) { // 如果立方和等于原数字
System.out.println(num + "是水仙花数");
} else {
System.out.println(num + "不是水仙花数");
}
}
}
```
希望这能帮到你!
### 回答2:
水仙花数是指一个三位数,其各位数字的立方和等于该数本身。
要用Java写一个水仙花数,可以按照以下步骤进行:
1. 创建一个新的Java类,命名为"DaffodilNumber"(或其他自定类名)。
2. 在主方法中添加代码,定义变量num,表示当前判断的数字。初始值为100。
3. 使用while循环,判断num是否小于1000。若满足条件,则执行循环体的代码。
4. 在循环体中,定义三个变量,分别为百位数digit1、十位数digit2、个位数digit3,通过对num进行取余和除法运算得到。
5. 使用Math.pow方法计算三个数字的立方和,赋值给变量result。
6. 判断如果result等于num,则输出num,即为一个水仙花数。
7. 在循环末尾,将num加1,以便判断下一个数字。
8. 运行程序,即可输出所有三位水仙花数。
下面是完整的Java代码示例:
```java
public class DaffodilNumber {
public static void main(String[] args) {
int num = 100;
while (num < 1000) {
int digit1 = num / 100; // 百位数
int digit2 = (num / 10) % 10; // 十位数
int digit3 = num % 10; // 个位数
double result = Math.pow(digit1, 3) + Math.pow(digit2, 3) + Math.pow(digit3, 3);
if (result == num) {
System.out.println(num);
}
num++;
}
}
}
```
运行程序后,即可输出所有三位的水仙花数:153、370、371、407。
### 回答3:
水仙花数是指一个三位数,其各个位数的立方和等于该数本身。例如,153是一个水仙花数,因为1³ + 5³ + 3³ = 153。
下面是用Java编写一个程序来找出所有的水仙花数:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
System.out.println("水仙花数有:");
for (int i = 100; i < 1000; i++) {
int hundreds = i / 100; // 获取百位数
int tens = (i / 10) % 10; // 获取十位数
int units = i % 10; // 获取个位数
int cubeSum = (int) (Math.pow(hundreds, 3) + Math.pow(tens, 3) + Math.pow(units, 3));
if (cubeSum == i) {
System.out.println(i);
}
}
}
}
```
这段代码首先使用一个for循环遍历所有的三位数(从100到999)。然后,通过除以100、除以10并取余数的方式,分别获取百位数、十位数和个位数。然后,使用Math.pow()方法计算各个位数的立方和。如果立方和等于该三位数本身,就说明找到了一个水仙花数,并将其打印出来。
运行该程序,即可输出所有的水仙花数。
阅读全文