Pagini recente » Cod sursa (job #956450) | Cod sursa (job #742842) | Cod sursa (job #2535898) | Cod sursa (job #1099481) | Cod sursa (job #1533817)
#include <stdio.h>
int trzeros(int n)
{
int zeros=0;
for(int p=5; p<=n; p*=5)
zeros+=n/p;
return zeros;
}
int findn(int l, int r, int p)
{
if(p==0)
return 1;
else
{
int mid, paux;
while(l<r&&paux!=p)
{
mid=(l+r)/2;
paux=trzeros(mid);
if (paux>p)
r=mid-1;
else
l=mid+1;
}
return l-l%5;
}
}
int main()
{
FILE *in=fopen("fact.in","r");
int p;
fscanf(in,"%d",&p);
fclose(in);
int n=findn(0,810000000,p);
FILE *out=fopen("fact.out","w");
if (trzeros(n)!=p)
fprintf(out,"-1");
else
fprintf(out,"%d",n);
fclose(out);
return 0;
}