2008. 10. 24. 16:33

[문제풀이][C언어] 3n+1 문제 (The 3n+1 Problem)

출처 : Springer, 한빛미디어 : Programming Challenges 알고리즘 트레이닝 북

1. 임의의 정수 n을 갖는다.
2. 임의의 정수 n의 값이 짝수일때는 'n ÷ 2'
3. 임의의 정수 n의 값이 홀수 일때는 '3 × n + 1'
4. 임의의 정수 n의 값이 최종 1이 될때까지 반복.
5. 입력받는 임의의 수 i, j 값의 최소값부터 최대값까지 모든 수에 대한 최대 싸이클 개수를 구하는게 목적.

 ex) 임의의 정수 n이 22일때
     - 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1
     - 총 16개의 사이클을 가진 수열이라 한다.

실행 결과



답안 보기




본 답안은 제가 직접 문제 풀이한 내용입니다.
책의 답안과도 매우 다르니, 제 코딩이 정석이라고 말씀드릴 수는 없습니다.