Pagini recente » Cod sursa (job #3198145) | Cod sursa (job #2146117) | Cod sursa (job #827766) | Cod sursa (job #1185074) | Cod sursa (job #1210135)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int p;
int funt(long long int x)
{
int sol=0;
int po=5;
while(x/po>0)
{
sol+=x/po;
po*=5;
}
return sol;
}
void cautbin(int lo, int hi)
{
int sol=-1;
while(hi-lo>1)
{
long long int mid=lo+(hi-lo)/2;
if(funt(mid)<p) lo=mid;
else if(funt(mid)==p) {sol=mid;hi=mid;}
else hi=mid;
}
fout<<sol<<"\n";
}
int main()
{
fin>>p;
//caz particular
if(p==0) {fout<<1<<"\n";return 0;}
cautbin(-1,p*5+1);
}