콜라츠 추측

최진훈·2022년 1월 11일
0

programmers

목록 보기
5/73

반복문을 얼마나 잘 중첩하여 깔끔한 조건으로 결과를 얻어내냐가 관건일 것 같은 느낌이다.
짝수 홀수 나누는건 어렵지않고, 맨 마지막에 쓰여있는 '작업을 500번 반복했을때의 return -1
이게 좀 골치 아프겠다.

  1. while문으로 입력받은 값이 1이 될때까지 돌리기
  2. 그 안에 if문으로 짝수 홀수 조건 나누기
  3. 500번 반복해도 1이되지 않으면 return -1

아무리 예시로 626331를 돌려봐도 asnwer가 488에서 result가 1이되어 while문을 빠져나온다...

한참을 헤매다가 질문하기탭에서 찾아낸 충격적인 사실ㅋㅋㅋㅋㅋㅋㅋㅋ
626331로 연산을 하면 중간에 Int범위를 넘는 계산이 나와서 결과가 오류가 나는것.
기본제공된 틀을 깨지 않는 선에서 풀려다보니 강제로 Long형태로 캐스팅해서 계산하니까 해결되었다!!

테스트 통과!!

profile
레고레고

0개의 댓글