水仙花数python程序
时间: 2024-01-05 15:20:14 浏览: 95
以下是一个求解水仙花数的Python程序:
```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)
```
该程序会输出所有的三位水仙花数。水仙花数是指一个三位数,其各个位上的数字的立方和等于该数本身。
相关问题
水仙花数python语言程序
水仙花数(Narcissistic number)也被称为阿姆斯特朗数(Armstrong number),是指一个n位数,其各位数字的n次方和等于该数本身。例如,153是一个3位数,且1^3 + 5^3 + 3^3 = 153。
使用Python语言编写一个寻找水仙花数的程序,可以遵循以下步骤:
1. 确定一个范围,比如从100到999,因为这是一个三位数的范围。
2. 遍历这个范围内的每一个数。
3. 对于每一个数,计算其各位数字的立方和。
4. 如果这个立方和等于原数,则该数是一个水仙花数。
5. 将所有的水仙花数打印出来。
以下是一个简单的Python程序示例:
```python
# 打印出所有的三位水仙花数
for num in range(100, 1000):
# 计算每个位上数字的立方和
sum_of_cubes = sum(int(digit) ** 3 for digit in str(num))
# 如果立方和等于原数,则是水仙花数
if num == sum_of_cubes:
print(num)
```
这段代码会输出所有的三位水仙花数。如果你需要其他位数的水仙花数,比如四位数,你需要调整范围,并且将立方和改为四次方和即可。
水仙花数程序python
以下是两种Python实现水仙花数的程序:
方法一:
```python
print("所有的3位水仙花数:")
for x in range(100, 1000):
low = x % 10
high = x // 100
middle = (x // 10) % 10
sum = low ** 3 + high ** 3 + middle ** 3
if sum == x:
print(x)
```
方法二:
```python
print("所有的3位水仙花数:")
for x in range(100, 1000):
s = str(x)
a = int(s[0])
b = int(s[1])
c = int(s[2])
if x == a ** 3 + b ** 3 + c ** 3:
print(x)
```
方法一中,我们使用了循环和条件语句来判断每个三位数是否为水仙花数。首先,我们使用`range()`函数生成100到999之间的所有整数,然后对于每个整数,我们使用取余和整除运算符来获取它的百位、十位和个位数字。接下来,我们计算这些数字的立方和,并将结果与原始数字进行比较。如果它们相等,则该数字是水仙花数,我们将其打印出来。
方法二中,我们使用了字符串操作来获取每个三位数的百位、十位和个位数字。我们首先将整数转换为字符串,然后使用索引运算符来获取每个数字。接下来,我们计算这些数字的立方和,并将结果与原始数字进行比较。如果它们相等,则该数字是水仙花数,我们将其打印出来。
阅读全文