Cod sursa(job #155219)

Utilizator ZozelZozo Zozo Zozel Data 11 martie 2008 20:09:54
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include<stdio.h>
#include<math.h>

int main(){
int P,max,zeros,minus,amax,i;

FILE *fin=fopen("fact.in","r");
FILE *fout=fopen("fact.out","w");
fscanf(fin,"%d",&P);
max=P*5;

zeros=floor(max/5);i=2;
while( floor(max/pow(5,i)) ){
 zeros+=floor(max/pow(5,i));
 i++;
}//calculam numarul de zerouri din max!


if(zeros==0) fprintf(fout,"%d",1);
else{





 minus=0;
 while(minus<(zeros-P)){
   amax=max;
   while(!(amax%5)){
    amax/=5;
    minus++;
   }
 max-=5;
}
  if(minus!=zeros-P) fprintf(fout,"%d",-1);
   else fprintf(fout,"%d",max);
 }
fclose(fin);
fclose(fout);
return 0;
}