The 3n + 1 problem (http://bluepolaris.tistory.com/138)

코딩 퀴즈 첫번째 문제인 3n+1문제는 풀었지만,

풀다가 보니 숫자별로 사이클이 들쑥날쑥한 것을 발견하여,

문득 호기심이 생겼다.


숫자의 증가에 따른 사이클 수의 변화가 어떠할까?


그래서 뽑아서 그래프를 만들어보았다.

이후 그래프는 x축이 숫자, y축이 사이클 수다.

 

먼저 1부터 100까지.


25정도까지는 조금씩 들쑥날쑥하다가, 그 뒤부터 갑자기 파워 들쑥날쑥하게 변한다.

최초로 사이클 수가 100을 뛰어넘는 숫자는 바로 27. 

100을 넘는 사이클수가 나오기는 하지만, 100가까이 가서도 사이클수가 20 내외로 오락가락 한다.


다음은 1부터 1000까지. 


........벌써 별다른 경향성을 못찾겠다.

숫자가 커져도 20보다 낮은 사이클수를 가진 숫자가 나오는데,

2의 거듭제곱인 수 뿐만이 아니라 다른 숫자에서도 나온다.

이 그래프에서 가장 큰 2의 거듭제곱수는 512인데, 512뒤로도 사이클수가 20 이하인 수들이 나오는 것으로 확인할 수 있다.

 

다음은 1부터 10000 까지.


......이쯤되면 그래프 표시의 한계가 보일정도인데, 꺾은선 그래프라서 높은 것과 낮은 것은 알 수 있다.

1부터 1000까지는 그래프가 들쑥날쑥 하긴해도 확실히 증가하는 추세를 보이는데,

그 이후로는 가끔씩 높은 사이클수가 툭 튀어나오는 점만 제외하면

사이클수가 10~200 사이에서 왔다갔다 하는듯 하다.




이제는 더이상 의미가 있을까 싶은,

1부터 100000까지의 그래프.


무려 십만까지 표시했는데, 사이클수가 300이 넘어가는 숫자가 있는반면,

50이 안되는 숫자들도 있다.



결론 : 숫자가 커질수록 3n+1 사이클 수는......... 지맘대로 변한다.


'프로그래밍 > 코딩퀴즈' 카테고리의 다른 글

Prime Ring Problem  (0) 2012.08.03
The 3n + 1 problem  (0) 2012.08.02

+ Recent posts