Pagini recente » Istoria paginii runda/oni_2009_11-12_z2 | Cod sursa (job #618314) | Cod sursa (job #2581574) | Cod sursa (job #136427) | Cod sursa (job #2336490)
#include <fstream>
#include <cmath>
using namespace std;
long long cat0(long long n)
{ long long c=0,p5=5;
while(n>=p5)
{
c+=n/p5;
p5*=5;
}
return c;
}
long long cbin(long long p)
{
long long msk,pos=0;
for(msk=1<<30;msk>0;msk/=2)
{
if(cat0(msk+pos)<=p)
pos+=msk;
}
if(cat0(pos)==p){ while(cat0(pos)==p)pos--;
return pos+1;
}
else
return -1;
}
ifstream cin("fact.in");
ofstream cout("fact.out");
int main()
{
long long sg,c5,p,i,c=0;
cin>>p;
if(p==0){
cout<<1;
return 0;}
else
cout<<cbin(p);
return 0;
}