Pagini recente » Cod sursa (job #1807583) | Cod sursa (job #91240) | Cod sursa (job #1514604) | Cod sursa (job #2103880) | Cod sursa (job #2336436)
#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;
}