Python實現水仙花數

  • 2020 年 1 月 10 日
  • 筆記

水仙花數(Narcissistic number)也被稱為超完全數字不變數(pluperfect digital invariant, PPDI)、自戀數、自冪數、阿姆斯壯數或阿姆斯特朗數(Armstrong number),水仙花數是指一個 n 位數(n≥3 ),它的每個位上的數字的 n 次冪之和等於它本身(例如:1^3 + 5^3+ 3^3 = 153)《摘自百度百科》。

下面給出三位數水仙花Python代碼實現::

# 循環遍歷出所有三位數  for tmp in range(100, 1000):      # 取余找出個位數      a = tmp % 10      # 求商取整找出百位數      b = int(tmp / 100)      # 通過求商取整找出百位和十位,然後求商找出十位      c = int(tmp / 10) % 10      if tmp == a**3 + b**3 + c**3:          print("%d" %tmp)

有興趣可以百度百科了解下<https://baike.baidu.com/item/%E6%B0%B4%E4%BB%99%E8%8A%B1%E6%95%B0/2746160?fr=aladdin>;