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

โปรแกรมตรวจสอบว่าตัวเลขที่กำหนดเป็นตัวเลขนาร์ซิสสิสหรือไม่ใน Python

สมมติว่ามีตัวเลข n เราต้องตรวจสอบว่ามันเท่ากับผลรวมของหลักต่างๆ ยกกำลังจำนวนหลักหรือไม่

เช่น ถ้าอินพุตคือ 9474 ผลลัพธ์จะเป็น True เพราะ 9^4 + 4^4 + 7^4 + 4^4 = 6561 + 256 + 2401 + 256 = 9474

ขั้นตอนการแก้ปัญหา

  • s := รายการหลักของ n
  • คืนค่า true ถ้า n เท่ากับผลรวมของ x^(ขนาดของ s) สำหรับทุก x ใน s มิฉะนั้น false

ตัวอย่างโค้ด

class Solution:
    def solve(self, n):
        s = str(n)
        return n == sum(int(x)**len(s) for x in s)

ob = Solution()
print(ob.solve(9474))

อินพุต

9474

เอาต์พุต

True