Pagini recente » Cod sursa (job #2731140) | Cod sursa (job #194316) | Cod sursa (job #3147551) | Cod sursa (job #2867113) | Cod sursa (job #475721)
Cod sursa(job #475721)
#include <fstream>
#define NMAX 50000000
using namespace std;
unsigned char A[NMAX];
long long P;
fstream fout("fact.out",ios::out);
void preproc()
{
memset(A,1,sizeof(A));
int i,j;
for(j=5;j<NMAX/5;j*=5)
for(i=j;i<NMAX;i+=j)
{
A[i]++;
}
}
void proc()
{
long long S=0;
int i=0;
while(P>S)
{
S=S+A[++i];
}
if(P!=0)
if(P==S)
fout<<i*5;
else fout<<"-1";
else fout<<"1";
fout<<"\n";
}
int main(int argc,char *agv[])
{
fstream fin("fact.in",ios::in);
preproc();
fin>>P;
proc();
fin.close();
}