打印出100~1000的水仙花数

Posted touch-prc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了打印出100~1000的水仙花数相关的知识,希望对你有一定的参考价值。

>>>水仙花数

"""
    算出100~999以内的水仙花数(
                  水仙花数(Narcissistic number)也被称为超完全数字
                    不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、
                    阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,
                    它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。
                  )
    例如:
    153 = 1^3 + 5^3 + 3^3


"""
#方法一

for change in range(100,1000):
    hund = change // 100   #得到百位
    deca = change % 100 // 10   #得到十位
    unit = change % 10   # 得到个位
    if change == hund ** 3 + deca ** 3 + unit ** 3 :
        print(change,end= )




#方法二
for cc in range(100,1000):
    str_cc = str(cc) #转换为字符串
    hund = int(str_cc[0]) #
    deca = int(str_cc[1]) #
    unit = int(str_cc[2]) #
    if cc == hund ** 3 + deca ** 3 + unit ** 3 :
        print(cc,end= )

#方法三
for hund in range(1,10):
    for deca in range(1, 10):
        for unit in range(1, 10):
            narc = hund * 100 + deca * 10 + unit
            if narc == hund ** 3 + deca ** 3 + unit ** 3 :
                print(narc,end= )

 

以上是关于打印出100~1000的水仙花数的主要内容,如果未能解决你的问题,请参考以下文章

每日算法 ---- 打印所有水仙花数

打印出100到999的水仙花数

C语言练习008:水仙花数

打印三位数水仙花数

C 实战练习题目13 -水仙花数

锦囊6-水仙花数