Pagini recente » Cod sursa (job #2943931) | Cod sursa (job #2686893) | Cod sursa (job #1336007) | Cod sursa (job #1103340) | Cod sursa (job #707892)
Cod sursa(job #707892)
#include <stdio.h>
#warning problema aceasta e prea usoara
long i,j,n,m,k,s,t,r,p;
FILE *f,*g;
long cauta(long x,long y)
{
long au;
m=((x+y)/2)*5;r=5;k=0;
while(m>=r){k+=m/r;r*=5;}
au=-1;
if(k<p){if(x!=y){
au=cauta(m/5,y);}}
if(k>p){if(x==y){
au=cauta(x,m/5);}}
if(k==p){au=m;}
return au;
}
int main()
{
f=fopen("fact.in","r");
g=fopen("fact.out","w");
fscanf(f,"%ld",&p);
n=cauta(0,2000000000);
if(n==-1){fprintf(g,"-1");}
n=(n/5)*5;
if(n==0){fprintf(g,"1");}
if(n>0){fprintf(g,"%ld",n);}
else{fprintf(g,"1");}
return 0;
}