Pagini recente » Cod sursa (job #2936835) | Cod sursa (job #1933169) | Cod sursa (job #2142717) | Cod sursa (job #2647783) | Cod sursa (job #2913319)
#include <fstream>
#define DR (1 << 29)
using namespace std;
ifstream cin("fact.in");
ofstream cout ("fact.out");
int cate_zero(int n){
int nr = 0;
while (n >=5)
{
nr+= (n/5);
n /=5;
}
return nr;
}
int caut_binara(int p){
int st = 1, dr = DR, rez = DR+1;
while (st <= dr){
int mij = (st + dr)/2;
if (cate_zero(mij) >= p)
{
rez = mij;
dr = mij-1;
}
else
{
st = mij+1;
}
}
return rez;
}
int main(){
int n,p;
cin >> p;
n = caut_binara(p);
if (cate_zero(n) != p)
n = -1;
cout << n;
}