Cod sursa(job #630193)
| Utilizator | Data | 4 noiembrie 2011 21:16:51 | |
|---|---|---|---|
| Problema | Factorial | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.66 kb |
#include <cstdio>
#include <cmath>
using namespace std;
inline int zerosAtEndOfFact (int x) {
int i = 1, s = 0;
while (true) {
float r = x / pow(5, i);
if (r < 1) {
break;
}
s += floor(r);
if (i == 1) {
i++;
} else {
i += 2;
}
}
return s;
}
int main () {
int P, i = 1;
freopen("fact.in", "r", stdin);
freopen("fact.out", "w", stdout);
scanf("%d", &P);
while (true) {
if (zerosAtEndOfFact(i) == P) {
printf("%d", i);
break;
}
i++;
}
return 0;
}
