Pagini recente » Cod sursa (job #2564574) | Cod sursa (job #245339) | Cod sursa (job #1702831) | Cod sursa (job #930424) | Cod sursa (job #1199307)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
long long v[19];
long fct(long long &x){
long k=0;
for(int i=0;i<=18||x<v[i];i++) k+=x/v[i];
return k;
}
int main()
{
long long p,s,d,a;
v[0]=5;
for(int i=1;i<=18;i++) v[i]=v[i-1]*5;
long x;
f>>p;
s=0;
d=p*5;
while(s<d){
a=(s+d)/2;
x=fct(a);
if(x==p){ g<<a-a%5<<endl; return 0; }
else if(x>p) d=a-1;
else s=a+1;
}
a=d-5;
g<<-1<<endl;
return 0;
}