Pagini recente » Cod sursa (job #1957149) | Cod sursa (job #659409) | Cod sursa (job #1000975) | Cod sursa (job #1062120) | Cod sursa (job #2359135)
#include<fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
long long p;
long long pow5[20];
long long zerouri(long long fval) {
long long zeroes = 0;
for (int i = 1; i < 18; ++i) {
zeroes += fval / pow5[i];
}
return zeroes;
}
long long bsearch(long long left, long long right) {
if (left != right) {
long long mid = (left + right) / 2;
long long nr = zerouri(mid);
if (nr == p) return mid;
else if (nr < p) return bsearch(mid + 1, right);
else return bsearch(left, mid - 1);
}
}
int main() {
int n;
pow5[0] = 1;
for (int i = 1; i <= 18; ++i) {
pow5[i] = 5 * pow5[i - 1];
}
fin >> p;
long long nr = bsearch(1, 100000);
while (nr % 5 != 0) nr--;
if(nr!=0) fout << nr;
else fout << 1;
return 0;
}