Cod sursa(job #2783475)
| Utilizator | Data | 14 octombrie 2021 15:37:39 | |
|---|---|---|---|
| Problema | GFact | Scor | 20 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.53 kb |
#include <fstream>
using namespace std;
ifstream in("gfact.in");
ofstream out("gfact.out");
long long p,q;
long long nr(long long n)
{
long long nrz=0,i=p;
while(i<=n)
{
nrz=nrz+n/i;
i=i*p;
}
return nrz;
}
int main()
{
long long a,mij,i,st=1,dr=9223372036854775800,ok=0;
in>>p>>q;
while(st<=dr)
{
mij=(long long)((st+dr)/(long long)2);
if(nr(mij)>=q)
dr=mij-1;
else
st=mij+1;
}
out<<st;
return 0;
}
