python水仙花数实现

简介: python水仙花数实现

水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)阿姆斯壮数、自恋数、自幂数、或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个数位上的数字的 3次幂之和等于它本身,是指一个 n 位数(n ≥ 3),它的每个位上的数字的 n 次幂之和恰好等于它本身。例如,153 是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153。

 

以下是 Python 实现水仙花数的原理:

 

```python
def is_armstrong_number(num):
    # 将数字转换为字符串,以便逐位访问
    num_str = str(num)
    n = len(num_str)
    
    # 计算每个位上的数字的 n 次幂之和
    sum_of_powers = sum(int(digit) ** n for digit in num_str)
    
    # 检查是否为水仙花数
    if sum_of_powers == num:
        return True
    else:
        return False

 

# 示例:查找 3 位数中的水仙花数

for i in range(100, 1000):

   if is_armstrong_number(i):

       print(i)

```

 

在这段代码中,`is_armstrong_number` 函数用于检查一个数是否为水仙花数。它首先将输入的数字转换为字符串,然后计算每个位上的数字的 n 次幂之和,最后将结果与原始数字进行比较以确定是否满足水仙花数的条件。

 

在示例中,我们遍历 3 位数(100 到 999),对每个数调用 `is_armstrong_number` 函数,找到并打印出所有的水仙花数。

 

这样,你可以使用这段代码来查找任意范围内的水仙花数。

相关文章
|
6月前
|
Java 程序员 C++
Python找出水仙花数
Python找出水仙花数
76 0
|
5月前
|
Python
【Python 训练营】N_7 打印水仙花数
【Python 训练营】N_7 打印水仙花数
30 1
|
6月前
|
Python
用python画一个水仙花
用python画一个水仙花
238 2
|
算法 程序员 C++
【Python 百炼成钢】进制转换、特殊回文数、水仙花数、杨辉三角、字母图形、01字符串、回形取数、排他方数、世纪末的星期日、约瑟夫环
【Python 百炼成钢】进制转换、特殊回文数、水仙花数、杨辉三角、字母图形、01字符串、回形取数、排他方数、世纪末的星期日、约瑟夫环
【Python 百炼成钢】进制转换、特殊回文数、水仙花数、杨辉三角、字母图形、01字符串、回形取数、排他方数、世纪末的星期日、约瑟夫环
|
Python
python基础作业:利用循环和end参数分别实现打印九九乘法表、三角形图形、寻找水仙花数、寻找完美数
python基础作业:利用循环和end参数分别实现打印九九乘法表、三角形图形、寻找水仙花数、寻找完美数
252 0
python基础作业:利用循环和end参数分别实现打印九九乘法表、三角形图形、寻找水仙花数、寻找完美数
|
Python
Python经典编程习题100例:第13例:水仙花数
Python经典编程习题100例:第13例:水仙花数
87 0
|
C语言 Python
python:水仙花数 里面没有水仙
水仙花数是各类编程语言学习的必经之路,对水仙花数的编写也变得极为重要。
100 0
python:考试前,练手习题(斐波那契数,字符串排序,九九乘法表,水仙花数,求和...求数字倍数,(保佑不挂科!)
整理一些练手的题目(含代码),可能不是特别优美,有些繁琐,但是等有时间再优化吧~~ 1.水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。 请编写程序,在一行内,按从小到大的顺序输出所有水仙花数,以空格作为分割
|
算法 Python
Python每日一练——第1天:水仙花数
水仙花数也被称为超完全数字不变数、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数,水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身。
646 0
Python每日一练——第1天:水仙花数
|
C++ Python
ZZULIOJ-1096,水仙花数(函数专题)(Python)
ZZULIOJ-1096,水仙花数(函数专题)(Python)