用java求100~999之间的水仙花数
时间: 2024-03-04 08:48:09 浏览: 123
水仙花数,也被称为自恋数,是指一个 n 位数(n≥3),它的每个位上的数字的 n 次幂之和等于它本身。例如,153 是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 153。
以下是 Java 代码实现:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
for (int i = 100; i < 1000; i++) {
int a = i / 100; //百位数
int b = i % 100 / 10; //十位数
int c = i % 10; //个位数
if (i == a*a*a + b*b*b + c*c*c) {
System.out.println(i);
}
}
}
}
```
输出结果为:
```
153
370
371
407
```
相关问题
用Java求100~999之间的水仙花数
在Java中,水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
以下是编写一个简单的Java程序来找出100到999范围内的所有水仙花数:
```java
public class NarcissisticNumbers {
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 sum = 0;
String digits = Integer.toString(number); // 将数转换为字符串以便迭代每个数字
for (char digit : digits.toCharArray()) {
int digitValue = Character.getNumericValue(digit); // 获取数字字符对应的整数值
sum += Math.pow(digitValue, 3); // 累加每位数字的立方
}
return sum == number;
}
}
```
当运行这个程序,它会打印出所有的100到999之间的水仙花数。
java求100~999之间的水仙花数
水仙花数是指一个三位数,其各位数字立方之和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
在Java中,可以编写一个简单的程序来找出100到999范围内的所有水仙花数。下面是一个示例代码:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
for (int i = 100; i <= 999; i++) {
if (isNarcissistic(i)) {
System.out.println(i);
}
}
}
// 判断是否为水仙花数的辅助函数
private static boolean isNarcissistic(int num) {
int sumOfCubes = 0;
String numberString = String.valueOf(num); // 将整数转换为字符串以便获取每一位
for (char digit : numberString.toCharArray()) { // 遍历每个位
int digitValue = Character.getNumericValue(digit); // 获取字符对应的数值
sumOfCubes += Math.pow(digitValue, 3); // 累加立方值
}
return sumOfCubes == num; // 如果累加结果等于原数,则是水仙花数,返回true
}
}
```
当你运行这个程序,它会打印出所有的100到999之间的水仙花数。
阅读全文