Cod sursa(job #1076085)
| Utilizator | Data | 9 ianuarie 2014 21:25:25 | |
|---|---|---|---|
| Problema | Factorial | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.55 kb |
#include <fstream>
using namespace std;
ifstream f ("fact.in");
ofstream g("fact.out");
int n,p,i;
int MAX = 100000000;
int zero(int x)
{
int suma = 0;
while (x)
{
suma += x/5;
n /= 5;
}
return suma;
}
int caut_binar(int st, int p, int dr)
{
int m, k = -1;
int x;
while (st <= dr)
{
m = (st+dr) / 2;
if (zero(m) == x) k = m;
if (zero(m) > x) dr = m - 1;
if (zero(m) < x) st = m + 1;
}
return k;
}
int main ()
{
f >> p;
n = caut_binar(1,p,MAX);
g << n;
f.close();
g.close();
return 0;
}
