[그리디] 1이 될 때까지

zzzzwso·2023년 6월 20일
0

algorithm

목록 보기
7/22

어떠한 수 N이 1이 될 때까지 다음의 두 과정 중 하나를 반복적으로 선택하여 수행하려고 한다. 단, 두 번째 연산은 N이 K로 나누어 떨어질 때만 선택할 수 있다.
1. N에서 1을 뺀다.
2. N을 K로 나눈다.

#include <iostream>
using namespace std;

int main()
{
	int n, k, result = 0;
	cin >> n >> k;
	while (n >= k)
	{
		while (n % k != 0)
		{
			n--;
			result++;
		}
		n /= k;
		result++;
	}
	while (n > 1)
	{
		n--;
		result++;
	}
	cout << result;
}
profile
HI there

0개의 댓글