Pagini recente » Cod sursa (job #1928938) | Cod sursa (job #3032871) | Cod sursa (job #3289847) | Cod sursa (job #2000310) | Cod sursa (job #2336428)
#include <fstream>
#include <cmath>
using namespace std;
int cat0(long long n)
{ int 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;
}