Cod sursa(job #677359)
| Utilizator | Data | 10 februarie 2012 01:39:47 | |
|---|---|---|---|
| Problema | Factorial | Scor | 15 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.39 kb |
#include <fstream>
#include <math.h>
int f(int n) {return n/5+n/25+n/125+n/625+n/3125+n/15625+n/78125+n/390625 ;}
using namespace std;
int main()
{ifstream fin("fact.in");
ofstream fout("fact.out");
int n, p;
fin>>p;
if (p==0)
fout<<"1";
else {
int s=1;
int e=2000000000;
while (s+1<e)
{int m=(s+e)/2 ;
if (p<f(m))
e=m-1;
else s=m;
}
fout<<e/5*5;
}
return 0;
}