Cod sursa(job #867676)
| Utilizator | Data | 29 ianuarie 2013 23:27:30 | |
|---|---|---|---|
| Problema | Factorial | Scor | 80 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.54 kb |
#include <fstream>
using namespace std;
int P, i, nr, res, st, mid ,end;
int main()
{
ifstream f("fact.in");
ofstream g("fact.out");
f >> P;
end = P * 5;
if(P == 1)
st = end + 1, res = 1;
while(st <= end)
{
mid = (st + end) / 2;
nr = 0;
for(i = 5; i <= mid; i *= 5)
nr += mid / i;
if(nr >= P)
end = mid - 1, res = mid;
else st = mid + 1;
}
g << res << '\n';
f.close();
g.close();
return 0;
}
