打印出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=' ')

 

posted @ 2020-06-14 17:53  touch丶  阅读(869)  评论(0编辑  收藏  举报