Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

หมายเลขอาร์มสตรองใน Python


สมมุติว่าเรามีเลข k หลัก N โดย N คือเลขอาร์มสตรองเมื่อกำลัง k ของแต่ละหลักบวกกับ N ดังนั้นเราต้องคืนค่า จริง หากเป็น หมายเลขอาร์มสตรอง มิฉะนั้น เท็จ

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • กำลัง :=จำนวนหลัก
  • อุณหภูมิ :=n, res =0
  • ในขณะที่อุณหภูมิไม่ใช่ 0
    • res :=res + (ตัวดัดแปลงชั่วคราว 10) ^ พลัง
    • temp :=temp / 10 //การหารจำนวนเต็ม
  • ถ้า res =n ให้คืนค่า จริง มิฉะนั้น เท็จ

ตัวอย่าง

ให้เราดูการใช้งานต่อไปนี้เพื่อทำความเข้าใจ −

import math
class Solution(object):
   def poww(self,base,power):
      res = 1
      while power:
         if power & 1:
            res *= base
         base *= base
         power>>=1
      return res
   def isArmstrong(self, n):
      power =int(math.log10(n)) + 1
      temp = n
      res = 0
      while temp:
         res += (self.poww(temp%10,power))
         temp//=10
      return res == n
ob1 = Solution()
print(ob1.isArmstrong(153))

อินพุต

153

ผลลัพธ์

true