#include <iostream>#define MAX 1000001using namespace std;int min(int a, int b);int dp[MAX];int main(){int testcase, i;cin >> testcase;dp[0] = dp[1] = 0;for (i = 2; i <= testcase; i++){dp[i] = dp[i - 1] + 1;if (i % 2 == 0)dp[i] = min(dp[i], dp[i / 2] + 1);if (i % 3 == 0)dp[i] = min(dp[i], dp[i / 3] + 1);}cout << dp[testcase] << endl;return 0;}int min(int a, int b){return (a < b) ? a : b;}
'백준' 카테고리의 다른 글
[2490] 웇놀이 (0) | 2018.08.09 |
---|---|
[2293] 동전 1 (0) | 2018.08.03 |
[2579] 계단 오르기 (0) | 2018.08.03 |
[1932] 정수 삼각형 (0) | 2018.08.03 |
[1149] RGB거리 (0) | 2018.08.03 |