Pagini recente » Cod sursa (job #743235) | Cod sursa (job #2963950) | Cod sursa (job #1875861) | Cod sursa (job #1804313) | Cod sursa (job #22113)
Cod sursa(job #22113)
#include<stdio.h>
#include<math.h>
#include<iostream.h>
#include<fstream.h>
const int h[] = {0,5,25,125,625,3125,15625,78125,390625,1953125,9762625,5*9762625,25*9762625};
char inner(long k)
{
char i,x,mehet;
x=0;
for (i=12;i>=1&&k%5==0;i--)
if (k%h[i]==0) { x=x+i;k=k/h[i];}
if(x==0) x=1;
return x;
}
int main(void) {
FILE *f;
long i,j,k,l,m,n,n2,p=0;
f=fopen("fact.in","rt");
fscanf(f,"%li",&p);
if (p==0)
n=1;
else
{
n=0;
for (i=1;i<=15000;i++) {
n=n+inner(5*i);
if (n==p) { n=5*i;break;}
if (n>p) { n=-1;break;}
}
}
fclose(f);
f=fopen("fact.out","wt");
if (n!=-1)
fprintf(f,"%li ",n);
else
fprintf(f,"%d ",-1);
fclose(f);
return 0;
}