수학을 좋아하진 않지만
넓디 넓은 수학의 세계에서 아기자기하면서 '올 ㅋ 신기한데?'
라는 생각이 절로드는 문제가 있어 도전했다.
이론 수학자였다면 결과를 증명하기 위해
엄밀한 연역과정을 펼쳤겠지만
모로가도 서울로만 가면 되는 코더로서는
결과가 그냥 '잘 저질러지기'만 하면 된다.
문제는 아래와 같다.
26을 예로 들면
① 26 -> '2' , '6'로 쪼갠뒤 이 둘을 더한다.
② 쪼갠 둘을 더한다 : 2+6 = 8
③ 위 방정식에서 '오른쪽 두개 수를 이어 붙인다 : 68
④ 위 과정을 다시 반복한다 원래 숫자 '26'으로 돌아올 때 까지
이 꽤나 이상한 과정을 반복하기만 했는데 원래숫자로 돌아온다...
무척 신기하다.
정말 그런지 문제가 요구하는 '반복횟수'만 볼게 아니라
그 과정도 주르륵 보고 싶었다.
매번 달라지는 숫자를 리스트 자료형에 넣어 결과를 보면 아래와 같다
가장 하단의 실행결과를 보면
리스트 자료에 총 4개의 값이 저장되며 원래대로 돌아왔다.
즉 26은 4번만 연산하면 원래대로 돌아온다!
(코드는 위에 포함되어있다)
생각보다 적게 걸리는게 꽤나 신기했지만
시험삼해 '87'을 입력했더니 60회의 사이클이 필요했다.
손으로 시도했다면 3분정도는 걸렸을것 같다.