Pagini recente » Cod sursa (job #2078793) | Cod sursa (job #2060419) | Cod sursa (job #1938969) | Cod sursa (job #3199372) | Cod sursa (job #2038340)
#include <iostream>
#include <cstdio>
#define BIG 500000000
using namespace std;
int pw5[]={5,25,125,625,3125,15625,78125,390625,1953125,9765625,48828125,244140625,1220703125};
int magic(int x){
int nr,i;
nr=i=0;
while(pw5[i]<=x){
nr=nr+x/pw5[i];
i++;
}
return nr;
}
int cauta(int p){
int li,ls,mij,val;
li=1;
ls=BIG;
while(li<=ls){
mij=(li+ls)/2;
val=magic(mij);
if(val==p)
return mij;
else if(val>p)
ls=mij-1;
else
li=mij+1;
}
return -1;
}
int main()
{
FILE *fin, *fout;
int x,p;
fin=fopen("fact.in","r");
fout=fopen("fact.out","w");
fscanf(fin,"%d",&p);
if(p==0)
fprintf(fout,"1");
else{
x=cauta(p);
printf("%d\n",x);
if(x>=0)
x=x/5*5;
fprintf(fout,"%d\n",x);
}
fclose(fin);
fclose(fout);
return 0;
}