java水仙花数的个位、十位、百位的数字立方和等于原数
时间: 2025-01-04 07:41:26 浏览: 11
水仙花数是指一个三位数,其各位数字的立方和等于该数本身。例如,153就是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
在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 % 100) / 10;
int units = i % 10;
if (Math.pow(hundreds, 3) + Math.pow(tens, 3) + Math.pow(units, 3) == i) {
System.out.println(i);
}
}
}
}
这段代码的工作原理如下:
- 使用一个for循环遍历所有的三位数。
- 分别计算出个位、十位和百位的数字。
- 计算这三个数字的立方和,并判断是否等于原数。
- 如果等于原数,则输出该数。
相关问题
java水仙花数是指其个位、十位和百位三个数字的立方和等于其自身的三位数,求出所有的水仙花数
好的,明白您的要求了。
水仙花数是指一个n位数,其各个位上的数字的n次方之和等于它本身。例如,一个三位数的三位数水仙花数就是其个位、十位和百位三个数字的立方和等于其自身的数。
现在我们来找出所有的三位数水仙花数:
首先,我们需要找到所有的三位数。在Java中,可以使用以下代码来实现:
public class Main {
public static void main(String[] args) {
for (int i = 100; i < 1000; i++) {
if (isNarcissistic(i)) {
System.out.println(i);
}
}
}
public static boolean isNarcissistic(int num) {
int originalNum = num;
int originalDigits = getDigits(num);
while (num != 0) {
int temp = num % 10;
int digits = getDigits(num);
if (temp * temp * temp != originalDigits) {
return false;
}
num = num / 10;
}
return true;
}
public static int getDigits(int num) {
int result = 0;
while (num != 0) {
result = result * 10 + num % 10;
num = num / 10;
}
return result;
}
}
这段代码首先会遍历所有的三位数,对于每一个数,它会检查是否满足水仙花数的条件。为了实现这个,我们首先会检查该数的每个位上的数字的立方和是否等于它自身。这是通过比较该数的当前值与原数字实现的,这样可以确保我们不会错过任何可能的数字。如果满足条件,我们就打印出这个数字。
这段代码会输出所有的三位数水仙花数。如果您需要其他类型的数字或更复杂的水仙花数条件,请告诉我。
Java程序编写程序求出所有水仙花数。水仙花数是指个位、十位和百位的立方和等于这个数的本身的数。用for循环
在Java中,我们可以编写一个简单的for循环程序来找出所有的水仙花数。这里是一个示例代码:
public class NarcissisticNumber {
public static void main(String[] args) {
int start = 100; // 水仙花数范围从三位数开始
int end = 999; // 到999为止
for (int num = start; num <= end; num++) {
if (isNarcissistic(num)) {
System.out.println(num); // 打印找到的水仙花数
}
}
}
// 判断一个数字是否是水仙花数的函数
private static boolean isNarcissistic(int number) {
int originalNum = number;
int sumOfCubes = 0;
while (number != 0) {
int digit = number % 10;
sumOfCubes += Math.pow(digit, 3); // 立方每个数字
number /= 10; // 移除个位
}
// 如果原数等于它的各个位置上数字立方和,则是水仙花数
return originalNum == sumOfCubes;
}
}
这个程序会遍历从100到999的所有整数,对每个数字调用isNarcissistic
方法来检查它是否满足水仙花数的条件。如果满足,就打印出来。
相关推荐
















