Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파이썬에서 주어진 숫자가 자기애적 숫자인지 확인하는 프로그램

<시간/>

숫자 n이 있다고 가정합니다. 우리는 그것이 n의 자릿수의 합과 자릿수의 거듭제곱과 같은지 확인해야 합니다.

따라서 입력이 9474와 같으면 출력은 9^4 + 4^4 + 7^4 + 4^4 =6561 + 256 +2401 + 256 =9474로 True가 됩니다.

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • s :=n의 숫자 목록
  • n이 s의 모든 x에 대해 x*(s의 크기)의 합과 같으면 true를 반환하고 그렇지 않으면 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