python编写水仙花数
时间: 2023-11-20 09:52:05 浏览: 99
Python编写水仙花数可以使用循环和条件语句来实现。可以按照以下步骤进行编写:
1. 使用for循环遍历100到999之间的所有三位数。
2. 将每个数字转换为字符串,并分离出每个数字。
3. 计算每个数字的立方和。
4. 判断立方和是否等于该数字本身,如果是,则输出该数字。
下面是一个示例代码:
```
for i in range(100, 1000):
num_str = str(i)
a = int(num_str[0])
b = int(num_str[1])
c = int(num_str[2])
if a**3 + b**3 + c**3 == i:
print(i)
```
这段代码会输出所有的三位水仙花数。如果要求其他位数的水仙花数,只需要修改循环的范围即可。
相关问题
用python编写水仙花数
以下是在 Python 中编写水仙花数的代码示例:
```
for num in range(100, 1000):
# 分离每一位数字
digit_1 = num // 100
digit_2 = (num % 100) // 10
digit_3 = num % 10
# 判断是否是水仙花数
if (digit_1 ** 3 + digit_2 ** 3 + digit_3 ** 3) == num:
print(num)
```
这段代码使用了一个循环,从 100 到 999 遍历整个数字范围,分离每一位数字,并使用每一位数字的立方和与原数字进行比较,如果相等,则表示该数字是水仙花数。
利用python编写水仙花数
水仙花数(Narcissistic Number 或者 Pluperfect Digital Invariant),是指一个n位正整数等于其各个位数字的n次方之和。例如,153是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 153。
在Python中,我们可以编写一个简单的函数来检查一个数是否为水仙花数:
```python
def is_narcissistic_number(num):
# 将数字转换为字符串以便取每个位上的数字
str_num = str(num)
# 计算数字的每一位立方和
sum_of_digits_cubed = sum(int(digit) ** len(str_num) for digit in str_num)
# 如果计算结果等于原数,则是水仙花数,返回True;否则,False
return num == sum_of_digits_cubed
# 示例测试
print(is_narcissistic_number(153)) # 输出 True
print(is_narcissistic_number(370)) # 输出 True
print(is_narcissistic_number(380)) # 输出 False
```
阅读全文