Python으로 구현한 14920번 3n+1 문제 풀이입니다.
https://www.acmicpc.net/problem/14920
n = int(input())
count = 0
while True :
if n == 1 :
count += 1
break
if n % 2 == 0 :
n //= 2
count += 1
else :
n = 3 * n + 1
count += 1
print(count)
1. while문을 통해 n의 값이 1이 될때까지 반복 수행한다.
2. while문 내에서는 조건문을 통해 n의 값이 짝수일 경우 n을 2로 나눈 몫을 다시 n에 갱신한다.
해당 작업이 끝나면 count 값을 1 증가시킨다.
3. n의 값이 홀수일 경우 3 * n + 1 과 같이 계산하여 다시 n에 갱신한다.
해당 작업이 끝나면 count 값을 1 증가시킨다.
4. n이 1일 될 경우 해당 수행작업 횟수도 포함시켜야하기 때문에 count값을 1 증가시킨 후 반복문을 종료한다.
'백준(Python) 풀이 > 수학' 카테고리의 다른 글
백준(Python) 13410번 거꾸로 구구단 풀이 (0) | 2021.11.10 |
---|---|
백준(Python) 4766번 일반 화학 실험 풀이 (0) | 2021.11.10 |
백준(Python) 11170번 0의 개수 풀이 (0) | 2021.11.10 |
백준(Python) 10474번 분수좋아해? 풀이 (0) | 2021.11.08 |
백준(Python) 5893번 17배 풀이 (0) | 2021.11.08 |