Cod sursa(job #846472)
| Utilizator | Data | 2 ianuarie 2013 11:59:41 | |
|---|---|---|---|
| Problema | Factorial | Scor | 20 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.46 kb |
#include <fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
long long s,i,n,m,mij,z,fact5,st,dr;
int main()
{
f>>n;st=1;dr=500;
while(st<=dr){
mij=(st+dr)/2;
m=mij;
z=0;fact5=5;
while(m>=fact5){z+=m/fact5;fact5*=5;}
if(z==n)break;
else if(z>n)dr=mij-1;
else st=mij+1;
}
mij=mij-mij%5;
if(st<=dr) g<<mij<<'\n';
else g<<-1<<'\n';
g.close();
return 0;
}
