Pagini recente » Cod sursa (job #2959388) | Cod sursa (job #1120716) | Cod sursa (job #2667415) | Cod sursa (job #2590884) | Cod sursa (job #20993)
Cod sursa(job #20993)
#include<stdio.h>
int main(){
FILE*in=fopen("fact.in","r");
FILE*out=fopen("fact.out","w");
int ap,s=0,p=1,n=5,n1,put=1;
fscanf(in,"%d",&ap);
if(ap==0){
fprintf(out,"1\n");
return 0;
}
while(p<ap){
p=p*5+1;
n=n*5;
put++;
}
if(p==ap){
fprintf(out,"%d\n",n);
return 0;
}
if((ap<p)&&(ap>p-put)){
fprintf(out,"-1\n");
return 0;
}
n1=n;
n=n/5;
s=(p-1)/5;
while(s!=ap){
p=(p-1)/5;
n1=n1/5;
put--;
if(p>1){
if((ap-s)/p){
n=n+((ap-s)/p)*n1;
s=s+((ap-s)/p)*p;
}
}
if(p==1){
n=n+n1*(ap-s);
s=s+(ap-s);
}
}
fprintf(out,"%d\n",n);
return 0;
}