Pagini recente » Cod sursa (job #179552) | Cod sursa (job #661835) | Cod sursa (job #1281952) | Cod sursa (job #885708) | Cod sursa (job #1082692)
#include<stdio.h>
#include<stdlib.h>
long count(long num){
long int i,k=0;
for(i = 5; num/i > 0; i *= 5)
k+=num/i;
return k;
}
int main(){
FILE *f,*g;
f = fopen("fact.in","r");
g = fopen("fact.out","w");
long int P,nr,st=1,dr=1000000000,mijloc;
long int rez = -1;
fscanf(f,"%ld",&P);
fclose(f);
while(st <= dr)
{
mijloc = st + (dr - st)/2;
nr = count(mijloc);
if (nr == P)
{
rez = mijloc;
dr = mijloc - 1;
}else
if(nr > P)
dr = mijloc - 1;
else
if(nr < P)
st = mijloc + 1;
}
fprintf(g,"%ld",rez);
fclose(g);
return 0;
}