Pagini recente » Cod sursa (job #1162356) | Cod sursa (job #1839168) | Istoria paginii runda/oni_11_12_8 | Cod sursa (job #2130869) | Cod sursa (job #1796162)
#include <iostream>
#include <cmath>
#include <stdio.h>
#define ll long long
using namespace std;
ll A[16];
ll zero(ll x){
ll i = 1;
ll rez = 0;
while(x >= A[i]){
rez += x / A[i];
i++;
}
return rez;
}
void generarePuteri5(){
for(int i=1; i<16; i++)
{
A[i] = pow(5, i);
}
}
ll cautareBinara(ll x, ll st, ll dr){
ll m = (st+dr)/2;
if(st==dr){
return st;
}
if( x<= zero(m))
return cautareBinara(x, st, m);
else
return cautareBinara(x, m+1, dr);
}
ll finalRez(ll N, ll a, ll b){
for(ll i =a; i<b; i++){
if(zero(i) == N)
return i;
}
return b;
}
int main(){
ll N;
freopen("fact.in", "r", stdin);
freopen("fact.out", "w", stdout);
cin >> N;
generarePuteri5();
// ll a = cautareBinara(N-1, 1, 100000);
ll b = cautareBinara(N, 1, 1<<18);
if(zero(b)!=N+1)
cout << b;
else
cout << "-1";
return 0;
}