곱셈 분리 게임 |
---|
곱셈 분리 게임은 다음과 같다. 숫자 1부터 시작해서 다음의 연산을 통해 주어진 수 N에 도달해야 한다. <연산 과정>------------------------------------------------------------------------------- 매 단계에서 현재의 수가 c라면 이것을 2개의 정수 a, b로 분리하고(c=a*b) 현재의 수 c에 a를 더한다. 이때 발생하는 비용은 b다. 이러한 과정을 현재의 수가 주어진 수 N에 도달할 때까지 계속한다. --------------------------------------------------------------------------------------------- 다음의 예는 N이 15인 경우다. ∙ 1부터 시작한다 여기서 9는 15에 도달하는 최소비용이다. 정수 N이 주어질 때 1부터 위의 <연산과정>을 거쳐 N에 도달하는 최소비용을 계산하는 프로그램을 작성하시오. |
입력 | |
---|---|
입력 파일은 1개의 줄로 구성된다. 첫 번째 줄에 정수 N(N>=1)이 주어진다. 50%는 N<=50000, 25%는 N<=500000, 나머지 25%는 N<=50000000 이다. |
출력 | |
---|---|
첫 번째 줄에 N에 도달하는데 필요한 최소비용을 출력한다. ※ 예시 2 : 1부터 시작해서, 2, 4, 5, 10, 15, 30, 60, 61, 122, 244, 305, 610, 671, 1342의 단계를 거쳐 2013에 도달할 수 있으며, 이때 드는 비용이 최소비용 91이다. |
예시 | |||
---|---|---|---|
1 | 입력 | 15 | |
출력 | 9 | ||
2 | 입력 | 2013 | |
출력 | 91 |