Pagini recente » Cod sursa (job #2771753) | Cod sursa (job #2322489) | Cod sursa (job #1124482) | Cod sursa (job #280372) | Cod sursa (job #1417775)
#include <stdio.h>
#include <string.h>
long p, n;
void readdata()
{
FILE *f = fopen("fact.in","rt");
fscanf(f,"%d",&p);
fclose(f);
}
int solve()
{
int s=0;
n = p*25/6.25;
while (n%5>0) {
n++;
}
int m=n;
while (m>=5)
{
s+=m/5;
m=m/5;
}
if (s<p)
{
int cnt = 0;
while (s<p)
{
cnt++;
s=0;
m=n+5*cnt;
while (m>=5)
{
s+=m/5;
m=m/5;
}
}
if (s==p) return (n+5*cnt);
}
if (s>p) {
int cnt = 0;
while (s>p)
{
cnt++;
s=0;
m=n-5*cnt;
while (m>=5)
{
s+=m/5;
m=m/5;
}
}
if (s==p) return (n+5*cnt);
}
if (s==p) return n;
return -1;
}
void writedata()
{
FILE *f = fopen("fact.out","wt");
if (p==0) n=1;
fprintf(f,"%lu",n);
fprintf(f,"\n");
fclose(f);
}
int main()
{
readdata();
n = solve();
writedata();
return 0;
}