Pagini recente » Cod sursa (job #3186837) | Cod sursa (job #2572494) | Cod sursa (job #1958394) | Cod sursa (job #17756) | Cod sursa (job #966127)
Cod sursa(job #966127)
#include <cstdio>
using namespace std;
int p;
int zero(int x){
//s= numarul de zerouri in care se termina x!
int s=0,numitor=5;
while(x/numitor>0){
s=s+x/numitor;
numitor=numitor*5;
}
return s;
}
int bs_left(int st,int dr){
int med,last=-1;
while(st<=dr){
med=st+(dr-st)/2;
if(p<=zero(med)){
last=med;
dr=med-1;
}else
st=med+1;
}
return last;
}
int main(){
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
scanf("%d",&p);
if(zero(bs_left(1,1e9))==p){
printf("%d",bs_left(1,1e9));
}else
printf("-1");
/*if(n==0){
printf("1");
return 0;
}
for(int i=5;i<=10000000;i=i+5){
if(zero(i)==n){
printf("%d",i);
return 0;
}
if(zero(i)>n){
printf("-1");
return 0;
}
}*/
return 0;
}