Pagini recente » Cod sursa (job #20597) | Cod sursa (job #2695454) | Cod sursa (job #168389) | Cod sursa (job #254817) | Cod sursa (job #862947)
Cod sursa(job #862947)
#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;
for (; ;) {
n = (start + end) >> 1;
sum = 0;
aux = n / 5;
while(aux) {
sum += aux;
aux /= 5;
}
if (end - start <= 1) {
sum = 0;
aux = end / 5;
while(aux) {
sum += aux;
aux /= 5;
}
if (sum == p) printf("%I64d", end);
else printf("-1");
return 0;
}
if (sum < p) {
start = n;
}
if (sum >= p) {
end = n;
}
}
return 0;
}