简单用Java打印水仙花数
时间: 2023-12-18 11:05:21 浏览: 77
Sure! 水仙花数指一个三位数,其各个位数数字立方和等于该数本身。例如,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 digit1 = i / 100;
int digit2 = i / 10 % 10;
int digit3 = i % 10;
if (digit1 * digit1 * digit1 + digit2 * digit2 * digit2 + digit3 * digit3 * digit3 == i) {
System.out.println(i);
}
}
}
}
```
这段代码会打印出所有的水仙花数。
相关问题
java打印水仙花三位数
在 Java 中,"水仙花数"是指一个三位数,其各位数字立方和等于原数本身。例如,153 的立方和 (1^3 + 5^3 + 3^3) 等于 153。以下是编写一个简单的 Java 方法来找出所有的水仙花数:
```java
public class NarcissisticNumber {
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 n) {
int sumOfCubes = 0;
String number = String.valueOf(n);
for (char digit : number.toCharArray()) {
int digitValue = Character.getNumericValue(digit);
sumOfCubes += Math.pow(digitValue, 3);
}
return sumOfCubes == n;
}
}
```
在这个程序中,我们遍历从 100 到 999 的所有三位数,然后使用 `isNarcissistic` 方法检查每个数是否满足水仙花条件。如果满足,就将其打印出来。
Java打印所有四位数水仙花数
水仙花数是指一个三位数各位数字立方和等于其本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153。在Java中,你可以创建一个函数来检查并打印所有的四位数水仙花数。这是一个简单的示例:
```java
public class Main {
public static void main(String[] args) {
for (int num = 1000; num < 10000; ++num) { // 从1000到9999,四位数范围
if (isAsteriskNumber(num)) {
System.out.println(num); // 如果是水仙花数则打印
}
}
}
// 检查一个数是否是水仙花数
public static boolean isAsteriskNumber(int num) {
int hundreds = num / 100;
int tens = (num % 100) / 10;
int ones = num % 10;
return hundreds * hundreds * hundreds + tens * tens * tens + ones * ones * ones == num;
}
}
```
在这个程序中,`isAsteriskNumber()` 函数计算了给定数的每一位立方然后相加,如果结果等于原始数,则返回 `true`,表示它是水仙花数。
阅读全文