Pagini recente » Cod sursa (job #375044) | Cod sursa (job #685084) | Cod sursa (job #139938) | Cod sursa (job #2247640) | Cod sursa (job #2074617)
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
int P;
int zero(int x)
{
int p=5;
int S=0;
while(x/p)
{S+=x/p;
p=p*5;}
return S;
}
int cautare (int st,int dr)
{ int mij,t;
mij=(st+dr)/2;
t=zero(mij);
if(st>dr)return -1;
if(st==dr&&t==P) return mij;
if(t>P) return cautare(st,mij-1);
if (t<P) return cautare(mij+1,dr);
return cautare(st,mij);
}
int main()
{ FILE *f,*g;
f=fopen("fact.in","r");
g=fopen("fact.out","w");
fscanf(f,"%d",&P);
if(P==0)
{fprintf(g,"1");
return 0;}
fprintf(g,"%d",cautare(1,INT_MAX));
return 0;
}