Cod sursa(job #11681)

Utilizator omu_salcamtache tudor omu_salcam Data 1 februarie 2007 11:21:36
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include<stdio.h>
#include<string.h>
long a,b,n,p,k,c,d,i,j,exp;
long put[14]={1,5,25,125,625,3125,15625,78125,390625,1953125,9765625,48828125,244140625,1220703125};
FILE *f1,*f2;
void putere(){
j=1;
b=a;
exp=0;
while(b/put[j]){
	exp=exp+b/put[j];
	j++;
}
}
int main(){
f1=fopen("fact.in","r");
f2=fopen("fact.out","w");
fscanf(f1,"%ld",&p);
a=p*5-p*5/25*5;
while(a%5){
	a--;
}
putere();
while(exp<p){
	a=a+5;
	putere();
}
if(p==0){
	fprintf(f2,"1");
}
else{
	if(exp==p){
		fprintf(f2,"%ld\n",a);
	}
	else{
		fprintf(f2,"-1\n");
	}
}
return 0;}