Pagini recente » Cod sursa (job #1240544) | Cod sursa (job #3158546) | Cod sursa (job #1415087) | Cod sursa (job #1362284) | Cod sursa (job #291556)
Cod sursa(job #291556)
#include<stdio.h>
long long fives(long long x){
long long nr = 0;
while(x!=0){
nr+=x/5;
x=x/5;
}
return nr;
}
int main(){
FILE *f=fopen("factorial.in","r");
FILE *g=fopen("factorial.out","w");
long long k;
fscanf(f,"%lld",&k);
long long st = 1;
long long dr = 99999999;
long long mj,n=0,nn;
while(st<=dr){
mj = (st+dr)>>1;
nn = fives(mj);
if( nn < k ) st = mj + 1;
else if ( nn == k ) n = mj;
else dr = mj - 1;
}
if( fives(n) == k) fprintf(g,"%lld",n);
else fprintf(g,"-1");
return 0;
}