Pagini recente » Cod sursa (job #2615539) | Monitorul de evaluare | Cod sursa (job #1642521) | Cod sursa (job #1383473) | Cod sursa (job #155204)
Cod sursa(job #155204)
#include<stdio.h>
#include<math.h>
int main(){
int P,max,zeros,minus,amax,cupramax,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==0){
amax/=5;
minus++;
}
max-=5;
}
if(max!=0){
if(minus!=zeros-P) fprintf(fout,"%d",-1);
else fprintf(fout,"%d",max);
}
else fprintf(fout,"%d",1);
}
fclose(fin);
fclose(fout);
return 0;
}