Cod sursa(job #22117)

Utilizator gennhuTari Gergo-Zsolt gennhu Data 25 februarie 2007 18:09:22
Problema Factorial Scor 25
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#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<=2000000;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;
}