Cod sursa(job #2914499)
| Utilizator | Data | 20 iulie 2022 08:12:23 | |
|---|---|---|---|
| Problema | Factorial | Scor | 15 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.56 kb |
#include <fstream>
#include <cmath>
using namespace std;
int findN(int p) {
int i = 0;
int exp;
if (p == 0)
return 1;
while (p > 0) {
i = i + 5;
exp = (int)(log(i) / log(5));
if (pow(5, exp) == i)
p = p - exp;
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;
}