Pagini recente » Cod sursa (job #602943) | Monitorul de evaluare | Cod sursa (job #1778591) | Cod sursa (job #1798744) | Cod sursa (job #602862)
Cod sursa(job #602862)
#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=1;
FILE *in,*out;
in = fopen("fact.in","r");
fscanf(in,"%d",&p);
if (p !=0 ){
while (n) {
int mij=(stanga+dreapta)/2;
int nrz=zerouri(mij);
if ( nrz==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;
}