、for循坏打印輸出100-999之同的水仙花数(各位数字的立方和等于自己) 153 = 1*1*1 + 5*5*5 +3*3*3
时间: 2023-11-21 11:05:26 浏览: 67
可以使用for循环遍历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)
```
输出结果为:
```
153
370
371
407
```
相关问题
用oracle输出100-999之间的水仙花数:水仙花数:153=1*1*1 5*5*5 3*3*3=153
水仙花数是一种特殊的三位数,其每个位上的数字的立方和等于该数本身。例如,153是一个水仙花数,因为\(1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153\)。
在Oracle数据库中,可以编写SQL查询来找出100到999范围内的所有水仙花数。下面是一个示例查询:
```sql
SELECT num
FROM (
SELECT number AS num,
SUM(TO_CHAR(number, '999') * POWER(SUBSTR(TO_CHAR(number, '999'), level, 1), 3)) AS sum_of_cubes
FROM dual
CONNECT BY ADD(1, level) <= LENGTH(TO_CHAR(999, '999'))
WHERE number BETWEEN 100 AND 999
) subquery
WHERE sum_of_cubes = number;
```
这个查询首先生成100到999的所有三位数,然后计算每个数各位上数字立方的和。如果结果等于原始数,那么它就是一个水仙花数。
用Java编写对于三位整数,如果各位数字的立方和等于其自身,称之为水仙花数,写循环程序求出 100----999 之间的所有水仙花数 例如:153=1*1*1+5*5*5+3*3*3
在Java中,我们可以使用for循环遍历100到999范围内的每一个三位数,然后计算每个数各位数字的立方和,比较是否等于原数本身。下面是一个简单的示例程序:
```java
public class WaterfallNumbers {
public static void main(String[] args) {
for (int i = 100; i < 1000; i++) {
if (isWaterfallNumber(i)) {
System.out.println(i);
}
}
}
// 检查一个数是否是水仙花数
public static boolean isWaterfallNumber(int number) {
int hundred = number / 100;
int ten = (number % 100) / 10;
int unit = number % 10;
int cubeSum = hundred * hundred * hundred + ten * ten * ten + unit * unit * unit;
return cubeSum == number;
}
}
```
这个程序会打印出153、370、371、407等水仙花数。
阅读全文