美文网首页
求水仙花数,python

求水仙花数,python

作者: 码农一号已就位 | 来源:发表于2020-07-18 16:14 被阅读0次

    用python语言实现水仙花数

    什么是水仙花数?
    • 所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

    第一种,while循环

    • 程序分析:通过while循环列出1000以内所有三位数,然后通过取整数算出百位,减去百位,然后除以10化整减去个位算出十位,取余数算出个位,然后进行**3来验证是否水仙花数
    i =100
    while i<1000:
    
        num1 = i // 100  # 百位
        num2 = int((i-num1*100)/10) # 十位
        num3 = i%10 #个位
        # print(num2)
    
        if num3 **3 +num2**3 +num1**3 ==i:
            print(i)
        i += 1
    

    结果:

    153
    370
    371
    407
    

    第二种for in 循环遍历

    • 程序分析 利用for循环控制100-999个数,每个数分解出个位,十位,百位。
    for i in range(100,1000):
        s=str(i)
        one=int(s[-1])
        ten=int(s[-2])
        hun=int(s[-3])
        if i == one**3+ten**3+hun**3:
            print(i)
    
    153
    370
    371
    407
    

    相关文章

      网友评论

          本文标题:求水仙花数,python

          本文链接:https://www.haomeiwen.com/subject/vhkfkktx.html