개발/알고리즘
[백준] 14920번 3N + 1 수열
Liber21
2021. 4. 13. 19:31
반응형
14920번: 3n+1 수열
다음의 점화식에 의해 정해지는 수열 C(n)을 생각하자: C(n+1) = C(n)/2 (C(n)이 짝수일 때) = 3*C(n)+1 (C(n)이 홀수일 때) 초항 C(1)이 자연수로 주어지면, 이 점화식은 자연수로 이루어지는 수열을 정한다.
www.acmicpc.net
입력 & 출력
다음 점화식에 의해 정해지는 수열 C(n)을 생각하자
C(n+1) = C(n)/2 (C(n)이 짝수일 때) = 3*C(n)+1 (C(n)이 홀수일 때)
풀이
점화식을 그대로 사용하면 된다
배열의 현재 값이 1이 아니면 점화식을 반복한다
Swift 전체 코드
let c1 = Int(readLine()!)!
var cArray : [Int] = [c1]
var i = 0
while cArray[i] != 1 {
cArray.append(cArray[i] % 2 == 0 ? cArray[i] / 2 : cArray[i] * 3 + 1)
i += 1
}
print(i + 1)
반응형