Pagini recente » Cod sursa (job #402095) | Cod sursa (job #304084) | Cod sursa (job #3332043) | Cod sursa (job #3351709) | Cod sursa (job #602867)
Cod sursa(job #602867)
#include<stdio.h>
int fac(int n) {
if ( n == 0 )
return 1;
else return n*fac(n-1);
}
int zerouri(int p){
int temp=0,temp1=0,n=0;
while (temp<p){
n++;
temp1=n;
while(temp1%5==0){
temp++;
temp1=temp1/5;
}
}
return temp1;
}
int main(){
int stanga=0;
int dreapta = 888888;
int n=0,p,nrz=0;
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;
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;
}