Python programmers 콜라츠 추측

2023. 8. 29. 16:25Python

My answer📝 : error
def solution(n):
    i = 0
        while n != 1 and i<500:
            if n % 2 == 0:
                n = n/2
            else :
                n = 3*n + 1
            i += 1
        elif n != 1 and i>=500:
            answer = -1
        else: 
            answer = 0
        return answer
Others' answer🤓
def solution(num):
    for i in range(500):
        num = num /2 if num%2 == 0 else num*3+1
        if num == 1:
            return i + 1
    return -1

왜돼지? 처음에 i 0부터 시작해서 시도를 할때마다 i 늘어나는 아닌것 같은데
i <500 조건을 조금 더 고민해봐야겠다.

'Python' 카테고리의 다른 글

Python programmers 나누어 떨어지는 숫자 배열  (0) 2023.08.30
Python Programmers 하샤드 수  (0) 2023.08.29
Python programmers 자연수 뒤집어 배열로 만들기  (0) 2023.08.25
Python str, fstr  (0) 2023.08.14
Python split, int  (0) 2023.08.14