Cod sursa(job #502941)
| Utilizator | Data | 20 noiembrie 2010 21:42:45 | |
|---|---|---|---|
| Problema | Factorial | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.54 kb |
#include <fstream>
#define nmax 500000
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
int p, answer;
int nr_zero(int x)
{
int s=0;
if(x%5!=0) s=1;
s+=x/5;
return s;
}
int caut_binar()
{
int left=0; int right=nmax, m;
while(1)
{
m=(left+right)/2;
if(nr_zero(m)>p) right=m-1;
else if(nr_zero(m)<p) left=m+1;
else break;
}
return m;
}
int main()
{
f>>p;
answer=caut_binar();
g<<answer;
return 0;
}
