[알고리즘 트레이닝북 문제]
어떤 정수 n이 짝수면 2로 나누고 홀수면 3을 곱한후 1을 더하여 n=1 될때까지 같은 작업을 반복합니다.
(아직 증명되지는 않았지만 모든 정수 n에 대해 이 알고리즘을 적용시키면 n=1에 이르게 된다고 추측하고 있습니다.
그리고 이 가설은 적어도 1,000,000까지의 정수에 대해서는 참입니다.)
정수값 n으로 부터 1되기까지 만들어진 수의 개수를 n의 사이클 길이(cycle-length)라고 합니다.
예) n=22
22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1
cycle-length : 16
입력값은 a와 b사이의 정수 중에서 사이클 길이가 가장 큰 정수를 구해 출력하고 1이 되기까지의 과정과
사이클 길이를 출력합니다. (사이클 길이가 똑같은 수가 있다면 작은 수를 출력)
INPUT
1500
2000
OUTPUT
Number : 1665
Cycle-length : 180
1665 4996 2498 1249 3748 1874 937 2812 1406 703
2110 1055 3166 1583 4750 2375 7126 3563 10690 5345
16036 8018 4009 12028 6014 3007 9022 4511 13534 6767
20302 10151 30454 15227 45682 22841 68524 34262 17131 51394
25697 77092 38546 19273 57820 28910 14455 43366 21683 65050
32525 97576 48788 24394 12197 36592 18296 9148 4574 2287
6862 3431 10294 5147 15442 7721 23164 11582 5791 17374
8687 26062 13031 39094 19547 58642 29321 87964 43982 21991
65974 32987 98962 49481 148444 74222 37111 111334 55667 167002
83501 250504 125252 62626 31313 93940 46970 23485 70456 35228
17614 8807 26422 13211 39634 19817 59452 29726 14863 44590
22295 66886 33443 100330 50165 150496 75248 37624 18812 9406
4703 14110 7055 21166 10583 31750 15875 47626 23813 71440
35720 17860 8930 4465 13396 6698 3349 10048 5024 2512
1256 628 314 157 472 236 118 59 178 89
268 134 67 202 101 304 152 76 38 19
58 29 88 44 22 11 34 17 52 26
13 40 20 10 5 16 8 4 2 1
'3n+1'에 해당되는 글 1건
- 2020.04.22 3nPlus1
Problems/Level32020. 4. 22. 20:52