Cod sursa(job #807555)
| Utilizator | Data | 4 noiembrie 2012 22:07:18 | |
|---|---|---|---|
| Problema | Factorial | Scor | 50 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.66 kb |
#include<fstream>
#include<iostream>
using namespace std;
long nrzero(long n){
long nr=0;
while(n>1){
nr+=n/5;
n=n/5;
}
return nr;
}
long p;
long factorial(long l, long r){
long m=(l+r)/2;
long nm=nrzero(m);
if(nm==p)
return m;
if(nm>p)
return factorial(l,m-1);
return factorial(m+1, r);
}
int main(){
ifstream f("fact.in");
ofstream g("fact.out");
f>>p;
cout<<p;
if(p==0)
g<<1;
else
g<<factorial(1,100000000)/5*5;
f.close();
g.close();
return 0;
}
