Pagini recente » Cod sursa (job #445340) | Cod sursa (job #2432114) | Cod sursa (job #2050713) | Cod sursa (job #2095898) | Cod sursa (job #1372882)
#include <fstream>
using namespace std;
unsigned long long nr,v[9]={0,5,25,125,625,3125,15625,78125,390625};
unsigned long long descompunere(unsigned long long k)
{
unsigned long long e=1,i;
k-=nr;
for(i=8;i>=1;i--)
{
if(k>=v[i])
while(k%v[i]==0)
{
k/=v[i];
e+=i;
}
}
return e;
}
int main()
{
ifstream f("fact.in");
ofstream g("fact.out");
unsigned long long p,n,k,o,i;
f>>p;
k=1;
if(p==0) g<<"0";
else
{
while(k<p)
{
i=descompunere(k+1);
k+=i;
if(i>1)
nr+=i-1;
}
if(k==p) g<<5*k-5*nr;
else
g<<"-1";
}
f.close();
return 0;
}