用Java来满足页面输入3位数,从100到999之间,存在多个水仙花数,就输出打印。其中水仙花数指一个三位数其各个位上的数字立方和等于其本身
时间: 2024-05-08 19:21:31 浏览: 13
可以使用如下Java代码来实现:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
for (int i = 100; i <= 999; i++) {
int a = i / 100; // 获取百位数
int b = i / 10 % 10; // 获取十位数
int c = i % 10; // 获取个位数
if (a * a * a + b * b * b + c * c * c == i) { // 判断是否是水仙花数
System.out.println(i); // 输出水仙花数
}
}
}
}
```
其中,`i / 100` 可以获取一个三位数的百位数,`i / 10 % 10` 可以获取十位数,`i % 10` 可以获取个位数。然后,通过判断百位数、十位数和个位数的立方和是否等于该三位数本身来判断是否是水仙花数,如果是,则输出该数。
相关问题
使用java打印出100到1000之间所有的"水仙花数"
好的,这个问题可以回答。水仙花数指一个 n 位数 (n ≥ 3),它的每个位上的数字的 n 次幂之和等于它本身。例如,153 就是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 153。以下是使用Java打印100到1000之间的所有水仙花数的代码:
```
public class NarcissisticNumber {
public static void main(String[] args) {
for (int i = 100; i < 1000; i++) {
int hundreds = i / 100;
int tens = (i / 10) % 10;
int ones = i % 10;
if (Math.pow(hundreds, 3) + Math.pow(tens, 3) + Math.pow(ones, 3) == i) {
System.out.print(i + " ");
}
}
}
}
```
运行结果为:153 370 371 407。这些数字都是100到1000之间的水仙花数。
用python语言输出100到999之间的水仙花数
以下是 Python 代码,用于输出 100 到 999 之间的水仙花数:
```python
for num in range(100, 1000):
# 将数字拆分为各个位数
digit1 = num // 100
digit2 = (num // 10) % 10
digit3 = num % 10
# 判断是否为水仙花数
if num == digit1 ** 3 + digit2 ** 3 + digit3 ** 3:
print(num)
```
首先,我们使用 `for` 循环,遍历 100 到 999 之间的所有整数。对于每个数字,我们将其拆分为其百位、十位和个位数字。然后,我们判断该数字是否等于其各个位数的立方和。如果是,那么该数字就是水仙花数,我们将其打印出来。