python 编程实现水仙花数检测356
水仙花数,又称自恋数,是指一个三位数,其各位数字立方和等于该数本身。例如,153 是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 153。python 编程中,我们可以使用如下代码来检测一个三位自然数是否为水仙花数:``` python
def is_narcissus(n):
"""判断一个三位自然数是否为水仙花数"""
# 将数字转换为字符串
n_str = str(n)
# 立方和
cube_sum = 0
for digit in n_str:
cube_sum += int(digit) 3
# 判断是否等于原数字
return cube_sum == n
```
下面是一些示例:``` python
>>> is_narcissus(153)
True
>>> is_narcissus(371)
True
>>> is_narcissus(123)
False
```
我们可以使用以下代码生成 100 以内的所有水仙花数:``` python
# 生成 100 以内所有水仙花数
narcissus_numbers = []
for i in range(100, 1000):
if is_narcissus(i):
(i)
print(narcissus_numbers)
```
输出结果为:[153, 370, 371, 407]
扩展:
我们可以将代码扩展到任意位数的自然数:``` python
def is_narcissus(n, base):
"""判断一个自然数是否为 base 进制的水仙花数"""
# 将数字转换为字符串
n_str = str(n)
# 立方和
cube_sum = 0
for digit in n_str:
cube_sum += int(digit) base
# 判断是否等于原数字
return cube_sum == n
```
其中,base 参数指定进制。例如,要判断一个三位数是否为 10 进制的水仙花数,可以使用 is_narcissus(n, 10)。要判断一个四位数是否为 16 进制的水仙花数,可以使用 is_narcissus(n, 16)。
2024-12-22
Perl `quotemeta` 深度解析:正则表达式字面量匹配的守护神与安全实践
https://jb123.cn/perl/73479.html
Python3驱动编程:构建自动化大脑,连接万物系统核心实践
https://jb123.cn/python/73478.html
深度解析JavaScript:如何优雅地控制表单与元素的只读状态
https://jb123.cn/javascript/73477.html
Python算法精讲:核心概念、常见实现与性能优化
https://jb123.cn/python/73476.html
Linux命令行下的Perl魔法:从文本处理到系统管理,掌握高效脚本编程
https://jb123.cn/perl/73475.html
热门文章
Python 编程解密:从谜团到清晰
https://jb123.cn/python/24279.html
Python编程深圳:初学者入门指南
https://jb123.cn/python/24225.html
Python 编程终端:让开发者畅所欲为的指令中心
https://jb123.cn/python/22225.html
Python 编程专业指南:踏上编程之路的全面指南
https://jb123.cn/python/20671.html
Python 面向对象编程学习宝典,PDF 免费下载
https://jb123.cn/python/3929.html