Pagini recente » Cod sursa (job #1301171) | Cod sursa (job #1463357) | Cod sursa (job #2573763) | Cod sursa (job #1665841) | Cod sursa (job #1808556)
#include <iostream>
#include <fstream>
#include <math.h>
#define dim 1000001
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
long long int p,a[5*dim],n=0;
int putere5(long long int k)
{
long long int p1=5;
int k1=1;
while(p1<k)
{
p1=p1*5;
k1++;
}
if(k1>1)
k1=k1-1;
return k1;
}
int putere(int k)
{
long long int c=5,i=1;
while(i<k)
{
i++;
c=c*5;
}
return c;
}
int main()
{
fin>>p;
long long int i,j,p2=5*p,p5;
if(p==0)
fout<<1;
else
{
for(i=1;i<=putere5(p2);i++)
{
p5=putere(i);
for(j=p5;j<=p2;j=j+p5)
a[j]=i;
}
for(i=5;i<=p2&&n<p;i=i+5)
n=n+a[i];
if(n==p)
fout<<i-5;
else
fout<<-1;
}
fin.close();
fout.close();
return 0;
}