Pagini recente » Cod sursa (job #1134262) | Cod sursa (job #2362760) | Cod sursa (job #1370543) | Cod sursa (job #1220364) | Cod sursa (job #2336430)
#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)
{
int msk,pos=0;
for(msk=1<<20;msk>0;msk/=2)
{
if(cat0(msk+pos)<=p)
pos+=msk;
}
if(cat0(pos)==p)
return pos-pos%5;
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;
}