문제 링크입니다: https://www.acmicpc.net/problem/3943
왜 DP 문제로 분류된지 모르겠는 문제였습니다.
정말 간단하게 재귀함수를 호출해도 AC를 받을 수 있기 때문입니다.
#include <iostream>
using namespace std;
int N, maxNum;
int maxHailStone(int N)
{
if (maxNum <= N)
maxNum = N;
if (N == 1) //기저사례: 1이 끝
return maxNum;
else
return N % 2 ? maxHailStone(3 * N + 1) : maxHailStone(N / 2);
}
int main(void)
{
int test_case;
cin >> test_case;
for (int i = 0; i < test_case; i++)
{
scanf("%d", &N);
maxNum = N;
printf("%d\n", maxHailStone(N));
}
return 0;
}
개발환경:Visual Studio 2017
지적, 조언, 질문 환영입니다! 댓글 남겨주세요~
반응형
'알고리즘 > BOJ' 카테고리의 다른 글
백준 2869번 달팽이는 올라가고 싶다 (0) | 2018.05.15 |
---|---|
백준 1562번 계단 수 (0) | 2018.05.14 |
백준 4883번 삼각그래프 (0) | 2018.05.13 |
백준 2666번 벽장문의 이동 (0) | 2018.05.13 |
백준 2616번 소형기관차 (1) | 2018.05.13 |