用python编写程序,输出1000以内的水仙花数。所谓水仙花数是指这样的三位正整数,其各位数字的立方和等于该数本身。如:153=13+53+33。
时间: 2024-03-23 18:36:42 浏览: 14
好的,以下是输出1000以内的水仙花数的Python代码:
```python
for i in range(100, 1000):
# 将i的百位、十位、个位数字分离出来
hundreds = i // 100
tens = i // 10 % 10
units = i % 10
# 如果i是水仙花数,则输出
if i == hundreds ** 3 + tens ** 3 + units ** 3:
print(i)
```
输出结果为:
```
153
370
371
407
```
希望能够帮助你!
相关问题
python编程判别三位数正整数n是否是水仙花数。
水仙花数是指一个三位数各个位上数字的立方和等于该数本身,例如153就是一个水仙花数,因为1^3+5^3+3^3=153。
以下是判断三位数n是否是水仙花数的Python程序:
```python
n = int(input("请输入一个三位数:"))
a = n // 100 # 取百位数
b = n // 10 % 10 # 取十位数
c = n % 10 # 取个位数
if a**3 + b**3 + c**3 == n:
print(n, "是水仙花数")
else:
print(n, "不是水仙花数")
```
程序中首先获取用户输入的三位数,然后分别取出该数的百位数、十位数和个位数。接着判断这三个数的立方和是否等于该数本身,如果是则输出“是水仙花数”,否则输出“不是水仙花数”。
如何用python编写输出1-1000的水仙花数
水仙花数是指一个n位正整数(n>=3),它的每个位上的数字的n次幂之和等于它本身。例如153就是一个水仙花数,因为1³+5³+3³=153。
以下是用Python编写输出1-1000的水仙花数的代码:
```python
for i in range(100, 1000):
s = str(i)
if int(s[0])**3 + int(s[1])**3 + int(s[2])**3 == i:
print(i)
```
这个程序首先遍历100到999之间的所有整数,然后将每个整数转换为一个字符串,将每个数字的n次幂相加并检查是否等于该数字,如果是,则输出该数字。