使用java写出下面的代码:水仙花数是三位数,它的各位数字的立方和等于这个三位数本身,例如:371=33+73+13,371就是一个水仙花数。找出所有水仙花数.
时间: 2024-09-20 16:05:52 浏览: 21
在Java中,你可以编写一个循环来遍历所有三位数,然后对每个数的每一位求立方并相加,判断结果是否等于原数。以下是相应的代码:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
for (int i = 100; i <= 999; i++) {
int hundreds = i / 100;
int tens = (i / 10) % 10;
int ones = i % 10;
if (hundreds * hundreds * hundreds + tens * tens * tens + ones * ones * ones == i) {
System.out.println(i + " 是一个水仙花数");
}
}
}
}
```
这段代码会依次检查100到999之间的每一个数,如果是水仙花数,则打印出来。
相关问题
用java写一个“水仙花数为一个三位数,其各个位上数字立方和等于其本身。水仙花数是一个三位整型数,数的范围是(100,1000),输出所有水仙花数
在 Java 中,我们可以创建一个函数来检查并打印出所有的水仙花数。水仙花数是指一个三位数,它的各位数字立方之和等于该数本身。下面是一个简单的程序示例:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
for (int num = 100; num <= 999; num++) {
if (isNarcissistic(num)) {
System.out.println(num);
}
}
}
// 检查是否为水仙花数
public static boolean isNarcissistic(int number) {
int sumOfCubes = 0;
String strNum = String.valueOf(number); // 将数字转换为字符串便于处理每位
for (char digit : strNum.toCharArray()) { // 遍历每一位
int digitValue = Character.getNumericValue(digit); // 获取数字值
sumOfCubes += Math.pow(digitValue, 3); // 立方并累加
}
return sumOfCubes == number; // 如果和等于原数,则返回true
}
}
```
这个程序会从100到999遍历每个数字,通过`isNarcissistic()`方法判断它是否满足水仙花数的条件,并打印出符合条件的数字。
使用Java写出代码,水仙花是一个3位整型数,数的范围为【100~1000),输出所有水仙花数
在Java中,我们可以编写一个简单的函数来找出所有的水仙花数。水仙花数是指一个三位数,其各位数字立方之和等于该数本身。以下是一个简单的例子:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
for (int i = 100; i <= 999; i++) {
if (isNarcissistic(i)) {
System.out.println(i); // 输出水仙花数
}
}
}
// 判断是否为水仙花数的辅助函数
public static boolean isNarcissistic(int num) {
int sum = 0;
int temp = num;
while (temp != 0) {
int digit = temp % 10;
sum += Math.pow(digit, 3);
temp /= 10;
}
return sum == num;
}
}
```
这个程序从100到999遍历每个三位数,使用`isNarcissistic`函数检查它们是否满足水仙花数的条件。如果满足,就将其打印出来。