Pagini recente » Borderou de evaluare (job #15708) | Cod sursa (job #181270)
Cod sursa(job #181270)
#include<stdio.h>
unsigned long p,s=0;
int fact5(unsigned long n)
{
int k=1;
while (n%5==0)
{
n=n/5;
++k;
}
return k;
}
int main()
{
unsigned long i;
FILE *f=fopen("fact.in","r");
FILE *g=fopen("fact.out","w");
fscanf(f,"%lu",&p);
fclose(f);
if (p!=0)
{
for(i=1;s<p;)
if ((i%5==1) && (s+4<p))
{
s+=4;
i+=4;
}
else
{
if (i%5==0) s+=fact5(i);
else ++s;
++i;
}
if (s==p) fprintf(g,"%lu",5*i-5);
else fprintf(g,"-1");
}
else fprintf(g,"1");
return 0;
}