Решение задачи "Путь к нулю" с Codeforces

Без пояснения   Просмотров: 12


Вам заданы два числа n и k.

За один шаг вы можете делать следующие действия:

уменьшить n на 1;
разделить n на k если n делится k.
Например, если n=27 и k=3 Вы можете совершить следующую последовательность шагов: 27→26→25→24→8→7→6→2→1→0.
Вам нужно посичтать минимальное количество шагов, необходимое для получения 0 из n.

Код

#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll n,m,ans;
int t;
int main()
{
	cin>>t;
	while(t--)
	{
		cin>>n>>m;
		for(ans=-1;n;n/=m,ans++)
   ans+=n%m;
		cout<<ans<<endl;
	}
	return 0;
}

         

 Администратор Photo Автор: Администратор


Отправить решение задачи
Чтобы отправить решение вам нужно войти в систему или зарегистрироваться

Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться