Python基础、三种方法求100-999之间的水仙花数

  • Post author:
  • Post category:python


题目:算出100-999之间的水仙花数


水仙花数

是指百位的3次方 + 十位的3次方 + 个位的三次方等于原数的整数

方法一:将数字转换为字符串,用索引获取百位十位个位数字

for i in range(100,1000):
    s=str(i)
    if int(s[0])**3+int(s[1])**3+int(s[2])**3==i:
         print(i)
1
2
3
4

方法二:用算数运算获取百位十位个位数字

for i in range(100,1000):
    bai=i//100
    shi=i%100//10
    ge=i%10
    if i==bai**3+shi**3+ge**3:
        print(i)
1
2
3
4
5
6

方法三:循环嵌套

for bai in range(1,10):
    for shi in range(10):
        for ge in range(10):
            x=bai*100+shi*10+ge
            if x==bai**3+shi**3+ge**3:
                print(x)