Pagini recente » Cod sursa (job #1630564) | Cod sursa (job #2323175) | Cod sursa (job #2541470) | Cod sursa (job #471181) | Cod sursa (job #2458468)
#include <fstream>
#define input "fact.in"
#define output "fact.out"
#define NMAX 1000000000
using namespace std;
typedef long long ll;
ifstream in(input);
ofstream out(output);
ll P;
ll Total(ll nr)
{
ll sum = 0;
while(nr)
{
sum += nr / 5;
nr /= 5;
}
return sum;
}
ll Binary_Search(ll cifre)
{
ll st = 1, dr = NMAX;
ll sol = -1;
while(st <= dr)
{
ll mid = (st + dr) / 2;
ll ch = Total(mid);
//out << st << " " << dr << " -> " << ch << "\n";
if(ch >= P)
{
if(ch == P) sol = mid;
dr = mid - 1;
}
else st = mid + 1;
}
return sol;
}
int main()
{
in >> P;
out << Binary_Search(P);
return 0;
}