Cod sursa(job #1593436)

Utilizator Firealex2Rotileanu Alexandru Firealex2 Data 8 februarie 2016 16:54:16
Problema GFact Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <cstdio>

using namespace std;

long long int cautbin();
long long int div(long long int n);
long long int p, q, rez;


int main()
{
	freopen("gfact.in", "r", stdin);
	freopen("gfact.out", "w", stdout);
	scanf("%lld%lld", &p, &q);
	rez = cautbin();
	printf("%lld", rez);
	return 0;
}

long long int cautbin()
{
	long long int i = 0;
	long long int pas = 1 << 20;
	while (pas != 0)
	{
		if (div(i + pas) < q)
			i += pas;
		pas /= 2;
	}
	return i + 1 ;
}

long long int div(long long int n)
{
	long long r = 0;
	while (n >= p)
	{
		r += n / p;
		n /= p;
	}
	return r;
}