(JAVA) 콜라츠 추측

2024. 9. 15. 16:03·JAVA 알고리즘

▶ 문제

1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될 때까지 다음 작업을 반복하면, 
모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다.

★ 풀이방식
num을 int->long으로 변환하지 않으면 488로 다르게 나온다. 
연산 과정에서 오버플로우가 발생, public int solution(long num) 으로 바꿔야한다.

▶ 소스코드

class Solution {
    public int solution(long num) {
        int answer = 0;

        while(num!=1){
            if(num%2==0) num/=2;
            else num=num*3+1;

            answer++;

            if(answer>500) {
                answer=-1; break;
            }
        }

        return answer;
    }
}

'JAVA 알고리즘' 카테고리의 다른 글

(JAVA) 실제 정수들의 합을 구하여 return 하도록 함수 완성하기  (0) 2024.09.19
(JAVA) 단어 s의 가운데 글자를 반환하는 함수  (1) 2024.09.19
(JAVA) 두 정수 사이에 속한 모든 정수의 합을 리턴하는 함수  (0) 2024.09.14
(JAVA) 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수  (0) 2024.09.14
(JAVA) 각 자릿수를 큰것부터 작은 순으로 정렬한 정수 리턴 받기  (0) 2024.09.14
'JAVA 알고리즘' 카테고리의 다른 글
  • (JAVA) 실제 정수들의 합을 구하여 return 하도록 함수 완성하기
  • (JAVA) 단어 s의 가운데 글자를 반환하는 함수
  • (JAVA) 두 정수 사이에 속한 모든 정수의 합을 리턴하는 함수
  • (JAVA) 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수
lastdove
lastdove
lastdove 님의 블로그 입니다.
  • lastdove
    lastdove 님의 블로그
    lastdove
  • 전체
    오늘
    어제
    • 분류 전체보기 (80)
      • Spring (16)
      • JAVA (17)
      • JAVA 알고리즘 (20)
      • Project (5)
      • SQL 문제풀이 (17)
      • Git&Linux (2)
      • Web development(입문) (2)
      • Sparta (1)
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
lastdove
(JAVA) 콜라츠 추측
상단으로

티스토리툴바