Cod sursa(job #2110791)
| Utilizator | Data | 21 ianuarie 2018 12:59:55 | |
|---|---|---|---|
| Problema | Factorial | Scor | 90 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.57 kb |
#include <fstream>
using namespace std;
int nrz(int x) {
int put5 = 5, sol = 0;
while (put5 <= x) {
sol += x / put5;
put5 *= 5;
}
return sol;
}
int cautbin(int p) {
int st, dr, z, sol, mij;
st = 1;
dr = 2000000000;
while (st <= dr) {
mij = (st + dr) / 2;
z = nrz(mij);
if (z >= p) {
sol = mij;
dr = mij - 1;
}
else
st = mij + 1;
}
return sol;
}
int main() {
ifstream cin ("fact.in");
ofstream cout ("fact.out");
int p;
cin >> p;
cout << cautbin(p);
return 0;
}
