Python 이 '즐 거 운 수' 를 실현 하 는 방법

1080 단어 Algorithms
하나의 알고리즘 을 써 서 하나의 숫자 가 즐 거 운 숫자 인지 아 닌 지 를 판단 하 다.
즐거움 수 는 다음 과정 에서 정의 합 니 다. 모든 정수, 그 숫자의 제곱 과 교체 로 이 과정 을 반복 합 니 다. 결과 가 1 일 때 까지 반복 하거나 하나의 링 으로 무선 순환 을 합 니 다. 링 의 정 수 는 1 을 포함 하지 않 습 니 다.이 과정 은 1 로 끝나 면 즐 거 운 숫자 라 고 볼 수 있 습 니 다.
Example:
Input: 19
Output: true
Explanation: 
1^2 + 9^2 = 82
8^2 + 2^2 = 68
6^2 + 8^2 = 100
1^2 + 0^2 + 0^2 = 1

1: 즐 거 운 숫자 계산 결 과 는 반드시 1 이 고 즐 거 운 숫자 계산 결과 에 반드시 고리 가 존재 하 는 것 이 아니다.
def isHappy(self, n):
        """
        :type n: int
        :rtype: bool
        """
        numList = [n]    #          ,         
        while n!=1:     #       1,         
            sum=0
            for i in str(n):
                sum += int(i)**2
            if sum not in numList:     #       
                numList.append(sum)
            else:       #              
                return False
            n = sum
        return True

알고리즘 문제:https://leetcode-cn.com/problems/happy-number/description/

좋은 웹페이지 즐겨찾기