Cod sursa(job #2426625)
| Utilizator | Data | 28 mai 2019 21:14:14 | |
|---|---|---|---|
| Problema | GFact | Scor | 15 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.52 kb |
#include <fstream>
using namespace std;
ifstream in ("gfact.in");
ofstream out ("gfact.out");
long long apar (long long a,long long p)
{
long long cnt=0;
while (p<=a)
cnt+=a/p,p*=p;
return cnt;
}
long long ctbin (long long p,long long q)
{
long long st=1,dr=2000000000,mijl;
while (dr-st>1)
{
mijl=(st+dr)/2;
if (apar(mijl,p)<q)
st=mijl;
else
dr=mijl;
}
st=dr;
return st;
}
int main()
{
long long p,q;
in>>p>>q;
out<<ctbin(p,q);
return 0;
}
