Pagini recente » Cod sursa (job #2052846) | Cod sursa (job #2036066) | Cod sursa (job #966544) | Cod sursa (job #66544) | Cod sursa (job #201089)
Cod sursa(job #201089)
#include <stdio.h>
#define in_file "fact.in"
#define out_file "fact.out"
int n,res;
int nr_div(int n,int div){
int nr=0;
while(n%div==0){
n/=div;
nr++;
}
return nr;
}
int nr_zerouri(int n){
int nr2=0,nr5=0,res=0,i=0;
for (i=2;i<=n;i++){
nr2+=nr_div(i,2);
nr5+=nr_div(i,5);
}
res=nr2<nr5?nr2:nr5;
return res;
}
int find(int n){
int nrz,low=1,high=10000,mid=0;
while(low<=high){
mid=low+(high-low)/2;
nrz=nr_zerouri(mid);
if(nrz==n){
while(nr_zerouri(mid-1)==nrz)
mid--;
return mid;
}
else if(nrz<n)
low=mid+1;
else
high=mid-1;
}
return -1;
}
int main (){
FILE *f=fopen(in_file,"rt");
fscanf(f,"%d",&n);
fclose(f);
res=find(n);
FILE *g=fopen(out_file,"wt");
fprintf(g,"%d",res);
fclose(g);
return 0;
}