Cod sursa(job #2615376)
Utilizator | Denis Scutariu Yato2 | Data | 14 mai 2020 15:25:18 |
---|---|---|---|
Problema | Factorial | Scor | 10 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.51 kb |
#include <fstream>
#define ll long long
using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");
ll result(int p) {
if(p == 0)
return 1;
for(ll i = 5, d = 0; ; i *= 5, ++d) {
ll a, b;
a = i / 5 + d;
b = i + (d + 1);
if(p >= a && p < b - (d+1)) {
return 5 * (p - d);
}
else if(p >= b - (d+1) && p < b)
return -1;
}
return -1;
}
int main() {
int p;
in >> p;
out << result(p);
return 0;
}