Pagini recente » Cod sursa (job #1612619) | Cod sursa (job #2403722) | Cod sursa (job #61095) | Cod sursa (job #1578886) | Cod sursa (job #2914504)
#include <fstream>
#include <map>
using namespace std;
long findN(int p) {
map<long , int> m;
long pow = 5;
for (int i = 2 ; i <= 27 ; i++) {
pow *= 5;
m[pow] = i;
}
long i = 0;
if (p == 0)
return 1;
while (p > 0) {
i = i + 5;
if (m.find(i) != m.end())
p = p - m[i];
else if (i % 25 == 0)
p = p - 2;
else p--;
}
if (p < 0)
return -1;
return i;
}
int main() {
ifstream fin("fact.in");
ofstream fout("fact.out");
int p;
fin>>p;
fout<<findN(p);
return 0;
}