Cod sursa(job #1660777)
| Utilizator | Data | 23 martie 2016 13:45:40 | |
|---|---|---|---|
| Problema | Factorial | Scor | 90 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.64 kb |
#include <iostream>
#include <fstream>
using namespace std;
int P;
int N = 0;
int trailingZeros = 0;
void solve() {
while (trailingZeros < P) {
int aux;
if (trailingZeros + 6 < P) {
N += 25;
trailingZeros += 6;
aux = N / 25;
}
else {
N += 5;
aux = N;
}
while (aux % 5 == 0) {
aux /= 5;
trailingZeros++;
}
}
cout << N;
}
int main() {
freopen("fact.in", "r", stdin);
freopen("fact.out", "w", stdout);
cin >> P;
if (P == 0) {
cout << 1;
return 0;
}
solve();
}
