Pagini recente » Cod sursa (job #438221) | Cod sursa (job #3324499) | Cod sursa (job #2280920) | Cod sursa (job #3314197) | Cod sursa (job #602864)
Cod sursa(job #602864)
#include<stdio.h>
int fac(int n) {
if ( n == 0 )
return 1;
else return n*fac(n-1);
}
int main(){
int stanga=0;
int dreapta = 888888;
int n=0,p;
FILE *in,*out;
int temp=0,temp1=0;
in = fopen("fact.in","r");
fscanf(in,"%d",&p);
if (p !=0 ){
while (n) {
int mij=(stanga+dreapta)/2;
while(temp<p){
n++;
mij=n;
while(mij%5==0){
temp++;
mij=mij/5;
}
}
if ( mij==p && stanga==dreapta){
n=stanga;
break;
}
if (dreapta<stanga)
{
n=-1;
break;
}
if (p>nrz) stanga = mij+1;
else dreapta=mij-1;
}
}
fclose(in);
out = fopen("fact.out","w");
fprintf(out,"%d",n);
fclose(out);
return 0;
}