用java编程求1000以内的水仙花数,水仙花数是三位数,它的各位数字的立方和等于这个数本身。
时间: 2024-04-11 10:18:20 浏览: 101
public class NarcissisticNumber {
public static void main(String[] args) {
for (int i = 100; i <= 999; i++) {
int a = i / 100; // 百位数
int b = i % 100 / 10; // 十位数
int c = i % 10; // 个位数
if (a * a * a + b * b * b + c * c * c == i) {
System.out.println(i);
}
}
}
}
相关问题
java打印出1000以内的"水仙花数",所谓 "水仙花数"是指一个三位数,其各位数字立方和等于该数本身
在Java中,我们可以编写一段代码来找出1000以内的所有“水仙花数”。首先,我们需要了解“水仙花数”的定义,它是指一个三位数abc,满足a^3 + b^3 + c^3 = n(其中n是这个数本身)。接下来是一个简单的示例程序:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
for (int num = 100; num < 1000; ++num) {
int a = num / 100;
int b = (num % 100) / 10;
int c = num % 10;
if (num == calculateNarcissisticSum(a, b, c)) {
System.out.println(num);
}
}
}
// 函数用于计算三位数各数位立方和
private static int calculateNarcissisticSum(int a, int b, int c) {
return Math.pow(a, 3) + Math.pow(b, 3) + Math.pow(c, 3);
}
}
```
这段代码会遍历100到999之间的每个数,将每一位提取出来分别求立方,然后比较是否等于原数。如果相等,则打印出这个“水仙花数”。
编写一个java控制台应用程序,输出1000以内的水仙花数(水仙花数是指一个 n位正整数 (n≥3),它的每个位上的数字的 n次幂之和等于它本身)
编写一个Java控制台应用程序来找出1000以内的水仙花数,你可以创建一个简单的for循环遍历这个范围内的每个三位数,并对每位数求立方和。如果这个和等于原始数字本身,则认为它是水仙花数。以下是示例代码:
```java
public class Main {
public static void main(String[] args) {
for (int number = 100; number < 1000; number++) { // 遍历100到999
int sumOfDigits = 0;
String numStr = String.valueOf(number);
if (numStr.length() == 3) { // 检查是否是三位数
sumOfDigits += Integer.parseInt(numStr.charAt(0) + "") * Math.pow(Integer.parseInt(numStr.charAt(0)), 3); // 对百位求立方
sumOfDigits += Integer.parseInt(numStr.charAt(1) + "") * Math.pow(Integer.parseInt(numStr.charAt(1)), 3); // 对十位求立方
sumOfDigits += Integer.parseInt(numStr.charAt(2) + "") * Math.pow(Integer.parseInt(numStr.charAt(2)), 3); // 对个位求立方
if (sumOfDigits == number) { // 如果和等于原数,打印出来
System.out.println("水仙花数: " + number);
}
}
}
}
}
```
阅读全文