Cod sursa(job #2355252)
Utilizator | Data | 25 februarie 2019 22:08:29 | |
---|---|---|---|
Problema | Factorial | Scor | 50 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.54 kb |
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
int ok(int n)
{ if(n<5) return 0;
int d=5;
int nrap=0;
while(d<=n)
{ nrap+=n/d;
d*=5;
}
return nrap;
}
int main()
{ int p;
f>>p;
int sol=0,st=1,dr=99999999;
while(st<=dr)
{ int mij=(st+dr)/2;
if(p<=ok(mij))
{ sol=mij;
dr=mij-1;
}
else st=mij+1;
//g<<mij<<'\n';
}
g<<sol;
}