Cod sursa(job #610445)
| Utilizator | Data | 27 august 2011 10:53:34 | |
|---|---|---|---|
| Problema | Factorial | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.56 kb |
#include <fstream.h>
#define max 100000;
ifstream g("fact.in");
ofstream h("fact.out");
long b=max;
long p;
long f( long c )
{
long p = 0;
while( c )
{
p += c/5;
c /= 5;
}
return p;
}
long caut(long a, long b)
{ long m;
while (a <= b) {
m = (a + b) / 2;
if (f(m) <= p)
a = m + 1;
else
b = m - 1;
}
m = (a + b) / 2;
while(f(m) == p) m --;
h<<++m;
}
int main(){
g>>p;
caut(0,b);
return 0;
}
