(오버플로우 문제)콜라츠 추측

·2026년 6월 29일

c++ 특성에 대해서

  • int로 하면, 488 개수가 출력된다.
    -> 그래서 나는 뭐야.. 무슨 문제인거지?? 생각을 했다.
    => 로직상 문제가 없는데.

나의 생각.

  • 나는 차라리 오버플로우 발생하면 런타임 에러가 나와야 한다고 생각했는데., 비주얼로도 확인해보니까. 터지지 않는다.

num 출력해보자.

  • 여기에서 음수가 발생하고 있다.
    -> 즉 오버플로우가 발생한 것이고, 더 생각할 필요 없이 타입을 변경해야 한다.

나의 생각

  • 어차리 홀수일때 곱하기 3 더하기 1을 하더라도,
  • 알아서 짝수가 되면서 나눗셈 2를 하기 때문에 문제 없을 거라고 생각했지만,
    => 나의 짧은 생각이다.

내가 생각하는 거는 단편적인 생각일뿐 , 그럴수 있겠구나.
를 생각하면서 더 큰 범위로 나아가야한다는 생각을 해야 한다.

업그레이드

  • 2로 나누니까. 괜찮겠지가 아니라, 진행 도중에 곱하기 3 플러스 1을 하면서 범위가 초과할수 있겠구나! 를 생각해야 한다.

정답 코드

  • 타입을 long long으로 변경함.
profile
🔥🔥🔥

0개의 댓글