在Eclipse中编写Java程序,求三位数中的水仙花数。
时间: 2023-06-09 07:06:30 浏览: 121
当然,我可以回答您的问题。水仙花数是指一个三位数各个位上数字的立方和等于它本身。例如,153是一个水仙花数,因为1³ + 5³ + 3³ = 153。以下是Java程序实现:
```java
public class NarcissisticNumbers {
public static void main(String[] args) {
int num, digit1, digit2, digit3;
for (num = 100; num <= 999; num++) {
digit1 = num / 100;
digit2 = (num / 10) % 10;
digit3 = num % 10;
if (num == digit1 * digit1 * digit1 + digit2 * digit2 * digit2 + digit3 * digit3 * digit3) {
System.out.println(num + " is a narcissistic number!");
}
}
}
}
```
在该程序中,我们从100到999遍历所有三位数,通过除以100,取模和取余运算操作获取百位,十位和个位数字。然后我们计算该数字的立方,并将它们相加。如果总和等于原始数字,那么该数字就是一个水仙花数,我们将其输出。
相关问题
eclipse编程找到所有的水仙花数(三位数,各位置上数字的三次方之和等于该数字)
在Eclipse中寻找所有的水仙花数(也称为 narcissistic number),意味着一个三位数每位数字的立方和等于原数本身。我们可以编写一个简单的方法来检查所有三位数是否满足这个条件。以下是使用Java的一个示例:
```java
public class NarcissisticNumbers {
public static void main(String[] args) {
for (int num = 100; num < 1000; num++) {
if (isNarcissistic(num)) {
System.out.println(num); // 打印找到的水仙花数
}
}
}
public static boolean isNarcissistic(int n) {
String strNum = Integer.toString(n);
int[] digits = new int[strNum.length()];
for (int i = 0; i < strNum.length(); i++) {
digits[i] = Character.getNumericValue(strNum.charAt(i));
}
int sumOfCubes = 0;
for (int digit : digits) {
sumOfCubes += Math.pow(digit, 3);
}
return sumOfCubes == n;
}
}
```
这段代码首先生成100到999的所有整数,然后对每个数调用`isNarcissistic()`方法检查是否是水仙花数。
阅读全文