编程输出[100,999]之间的水仙花数 水仙花数定义:一个三位正整数若其各个位上的数的立方和等于其本身,如153-1+5)+3)。
时间: 2024-06-08 15:09:22 浏览: 16
好的,以下是 Python 代码实现:
```python
for num in range(100, 1000):
sum = 0
temp = num
while temp > 0:
digit = temp % 10
sum += digit ** 3
temp //= 10
if num == sum:
print(num)
```
输出结果为:
```
153
370
371
407
```
这四个数字即为在 [100,999] 范围内的水仙花数。
相关问题
编程,输出所有的水仙花数(水仙花数是一个三位数)。
水仙花数指的是一个三位数,该数的每个位上的数字的立方和等于该数本身。例如,153是一个水仙花数,因为1的立方加上5的立方加上3的立方等于153。
以下是Python代码,可以输出所有的水仙花数:
```python
for i in range(100, 1000):
# 将i拆分成百位、十位和个位数字
hundreds = i // 100
tens = (i // 10) % 10
ones = i % 10
# 判断是否为水仙花数
if i == hundreds**3 + tens**3 + ones**3:
print(i)
```
这段代码使用了一个for循环来遍历所有的三位数。然后,使用整除和取余操作来将数拆分成百位、十位和个位数字。最后,使用if语句来判断该数是否为水仙花数,并将其打印出来。
编程,输出所有的水仙花数(水仙花数是一个三位数)C语言
#include <stdio.h>
int main() {
int num, digit1, digit2, digit3;
for(num=100; num<1000; num++) {
digit1 = num / 100; // 获取百位数
digit2 = (num / 10) % 10; // 获取十位数
digit3 = num % 10; // 获取个位数
if(num == digit1 * digit1 * digit1 + digit2 * digit2 * digit2 + digit3 * digit3 * digit3) {
printf("%d\n", num); // 输出水仙花数
}
}
return 0;
}