Cod sursa(job #1186993)
Utilizator | Serban Cercelescu abanu10000 | Data | 17 mai 2014 15:48:00 |
---|---|---|---|
Problema | Factorial | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.49 kb |
#include <fstream>
using namespace std;
inline int count_zero(int x)
{
int n=0;
while (x) {
n+=x/5;
x/=5;
}
return n;
}
int main()
{
ifstream fin("fact.in");
ofstream fout("fact.out");
int k, li, ls, mij;
fin>>k;
if (!k){ fout<<1; return 0; }
li=1, ls=k*5;
while (li<=ls) {
mij=(li+ls)>>1;
count_zero(mij)<k ? li=mij+1 : ls=mij-1;
}
fout<<(count_zero(li)==k ? li : -1);
return 0;
}