반응형
[ Contents ]
1. 문제 (링크 참조)
2. 문제 풀이
C(n+1) = C(n)/2 (C(n)이 짝수일 때)
= 3*C(n)+1 (C(n)이 홀수일 때)
다음과 같은 규칙을 가진 수열이 있습니다. 입력으로 C(1)이 주어지며, C(n) = 1이 되는 n을 찾아야 합니다.
3. 코드
# 입력
c = int(input())
# C(n)이 1이 되면 break
for n in range(1, 100001):
if c == 1:
print(n)
break
# 짝수일 때
if c % 2 == 0:
c //= 2
# 홀수일 때
else:
c = 3*c + 1
수열의 규칙대로 그대로 구현하고, 처음으로 c(n) = 1이 되는 n을 찾습니다.
반응형
'Algorithm' 카테고리의 다른 글
[구현/수학] 백준 11648 지속 - 파이썬(Python) (0) | 2022.12.04 |
---|---|
[구현/수학] 백준 4493 가위 바위 보? - 자바(Java) (0) | 2022.12.03 |
[구현/수학] 백준 10599 페르시아의 왕들 - 파이썬(Python) (0) | 2022.12.01 |
[구현/수학] 백준 10409 서버 - 파이썬(Python) (0) | 2022.11.30 |
[구현/수학] 백준 10474 분수좋아해? - 파이썬(Python) (0) | 2022.11.29 |
댓글