Pagini recente » Cod sursa (job #1938131) | Cod sursa (job #314549) | Cod sursa (job #2770376) | Cod sursa (job #269220) | Cod sursa (job #862944)
Cod sursa(job #862944)
#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
#include <math.h>
#include <map>
#include <stdlib.h>
#include <sstream>
#include <stdio.h>
using namespace std;
#define PI 3.1415926535897932384626433832795
#define MAX 1001
int main() {
freopen("fact.in", "r", stdin);
freopen("fact.out", "w", stdout);
long long n, p, sum, aux;
scanf("%I64d", &p);
if (p == 0) {
cout << "1";
return 0;
}
long long start = 4*p / 5, end = 5*p;
bool last = true;
for (; ;) {
n = (start + end) >> 1;
sum = 0;
aux = n / 5;
while(aux) {
sum += aux;
aux /= 5;
}
if (end - start <= 1) {
if (last) printf("%I64d", end);
else printf("-1");
return 0;
}
if (sum < p) {
start = n;
}
if (sum >= p) {
end = n;
}
if (sum <= p) {
last = true;
} else last = false;
}
return 0;
}