如何用Java编程找出100到1000范围内的所有水仙花数(即一个三位数,其各位数字立方和等于该数本身的数字)?
时间: 2024-10-15 11:12:34 浏览: 32
在Java中,你可以通过循环遍历100到999之间的每一个三位数,然后计算它的百位、十位和个位数的立方和,如果这个和等于原数本身,那么这个数就是水仙花数。以下是简单的步骤:
```java
public class Main {
public static void main(String[] args) {
for (int num = 100; num <= 999; num++) {
int hundred = num / 100;
int ten = (num % 100) / 10;
int one = num % 10;
int sumOfCubes = Math.pow(hundred, 3) + Math.pow(ten, 3) + Math.pow(one, 3);
if (sumOfCubes == num) {
System.out.println(num + " 是水仙花数");
}
}
}
}
```
在这个程序中,我们首先获取数字的每一位,然后计算它们各自的立方,最后检查这个和是否等于原始数字。
相关问题
输出所有的水仙花数。所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。 用java
在Java中,我们可以编写一个简单的程序来找出所有三位数范围内的水仙花数。水仙花数的特性使得我们可以通过遍历并计算每一位的立方来判断。以下是实现这个功能的代码:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
for (int i = 100; i < 1000; i++) { // 从100到999,因为水仙花数是三位数
if (isNarcissistic(i)) {
System.out.println(i); // 打印出找到的水仙花数
}
}
}
// 检查是否为水仙花数的辅助方法
private static boolean isNarcissistic(int number) {
int sumOfCubes = 0;
String numString = Integer.toString(number);
for (char digit : numString.toCharArray()) {
int digitValue = Character.getNumericValue(digit);
sumOfCubes += Math.pow(digitValue, 3);
}
return sumOfCubes == number;
}
}
```
当你运行这段代码时,它会打印出所有三位的水仙花数,如153, 370, 371, 407 等。
java水仙花数是一个三位数,其各个位上数字立方和等于它本身。例如:153 = 1*1*1+3*3*3+5*5*5。计算并输出100~1000范围内的水仙花数并粘贴结果截图
在Java中,你可以编写一个简单的程序来找出100到1000之间的所有水仙花数。这是一个示例代码:
```java
public class NarcissisticNumbers {
public static void main(String[] args) {
int lowerBound = 100;
int upperBound = 1000;
for (int i = lowerBound; i <= upperBound; ++i) {
if (isNarcissistic(i)) {
System.out.println(i);
}
}
}
// 判断是否为水仙花数的方法
public static boolean isNarcissistic(int num) {
int sum = 0;
String strNum = String.valueOf(num);
for (char digit : strNum.toCharArray()) {
int digitValue = Character.getNumericValue(digit);
sum += Math.pow(digitValue, 3);
}
return sum == num;
}
}
```
这段代码会遍历给定范围内的每个三位数,检查它们是否满足水仙花数条件,即每个位的立方和等于原数。如果符合条件,就打印出来。
运行这个程序后,你会看到100到1000之间所有的水仙花数。注意,由于这里涉及到的是代码输出,无法直接提供截图,你需要自己在本地环境中运行这段代码查看结果。
如果你需要帮助理解和执行这段代码,或者有其他关于Java编程的问题,请随时提问。
阅读全文