Pagini recente » Cod sursa (job #3183892) | Cod sursa (job #2555547) | Borderou de evaluare (job #571036) | Cod sursa (job #1586286) | Cod sursa (job #2076080)
#include <fstream>
using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");
long long p, rasp;
long long zeroFinal(long long n) {
long long r = 0, exp = 5;
while (exp <= n) {
r += n / exp;
exp *= 5;
}
return r;
}
long long cauta(const long long s, const long long d) {
long long mij = (s+d)/2;
if(zeroFinal(mij) == p) return (mij-mij%5);
else {
if(mij == s) return -1;
else if(zeroFinal(mij) >= p) return cauta(s, mij-1);
else return cauta (mij+1, d);
}
}
int main()
{
in >> p;
if(p == 0) { out << 1; return 0; }
rasp = cauta(0, 1000000003);
out << rasp << "\n";
return 0;
}