Algorithm/Programmers
[프로그래머스] 콜라츠 추측 : C++
감성적인 개발자
2021. 8. 11. 22:11
https://programmers.co.kr/learn/courses/30/lessons/12943
코딩테스트 연습 - 콜라츠 추측
1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2
programmers.co.kr
#include <string>
#include <vector>
using namespace std;
int solution(int num) {
long long n = num;
int answer = 0;
while(n != 1){
if(n % 2 == 0)
n /= 2;
else
n = (n * 3) + 1;
answer++;
if(answer == 500 && n != 1)
return -1;
}
return answer;
}
계산과정에서 21억을 초과하는 경우가 발생하기 때문에 C++의 경우 계산과정에 사용하는 변수를 long long으로 변경해야한다.