用Java编写一个程序打印所有水仙花数
时间: 2023-03-14 13:09:59 浏览: 118
我可以为您提供一段示例代码,它可以用来查找并打印出所有水仙花数:public class NarcissisticNumber {public static void main(String[] args){int n, a, b, c;for (int i = 100; i < 1000; i++){n = i;a = n / 100;//取百位b = n / 10 % 10;//取十位c = n % 10;//取个位if (n == (a * a * a + b * b * b + c * c * c)) {System.out.println(i);}}}
相关问题
用Java编写一个程序,打印出所有水仙花数
水仙花数是指一个三位数,它的各位数字立方和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。在Java中,可以编写一个简单循环来检查所有的三位数是否为水仙花数。以下是一个示例程序:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
for (int number = 100; number < 1000; number++) { // 只考虑三位数
if (isNarcissistic(number)) {
System.out.println(number);
}
}
}
// 检查一个数是否为水仙花数
public static boolean isNarcissistic(int num) {
int sumOfCubes = 0;
String strNum = String.valueOf(num); // 转换为字符串获取每一位数字
for (char digit : strNum.toCharArray()) {
sumOfCubes += Character.getNumericValue(digit) * Character.getNumericValue(digit) * Character.getNumericValue(digit);
}
return sumOfCubes == num;
}
}
```
当你运行这个程序,它会打印出100到999之间所有的水仙花数。
编写一个Java程序,输出所有的水仙花数
水仙花数是指一个三位数,其各位数字立方之和等于该数本身。例如,153是个水仙花数,因为1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153。在Java中,我们可以编写一个循环遍历所有三位数,然后检查它们是否满足条件。以下是实现此功能的一个简单程序:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
for (int i = 100; i <= 999; i++) {
if (isNarcissistic(i)) {
System.out.println(i);
}
}
}
// 检查是否为水仙花数的辅助方法
public static boolean isNarcissistic(int number) {
int sum = 0;
String digits = String.valueOf(number); // 转换为字符串以便按位取值
for (char digit : digits.toCharArray()) {
int digitValue = Character.getNumericValue(digit); // 获取字符对应的数值
sum += Math.pow(digitValue, 3); // 累加每个位的三次方
}
return sum == number;
}
}
```
这个程序会打印出所有三位的水仙花数。
阅读全文
相关推荐
















