码迷,mamicode.com
首页 > 其他好文 > 详细

打印出100~1000的水仙花数

时间:2020-06-14 18:27:31      阅读:77      评论:0      收藏:0      [点我收藏+]

标签:hang   style   它的   perfect   digital   var   ssis   ==   水仙花数   

>>>水仙花数

"""
    算出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的水仙花数

标签:hang   style   它的   perfect   digital   var   ssis   ==   水仙花数   

原文地址:https://www.cnblogs.com/touch-prc/p/13125872.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!