Pagini recente » Cod sursa (job #2543587) | Cod sursa (job #1585918) | Cod sursa (job #3179614) | Cod sursa (job #1138668) | Cod sursa (job #1593436)
#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;
}