Cod sursa(job #2512677)
| Utilizator | Data | 21 decembrie 2019 13:01:39 | |
|---|---|---|---|
| Problema | Factorial | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.54 kb |
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int nrzer(int x)
{
int cnt = 0, i ;
for(i=5;i<=x;i=i*5)
{
cnt += x/i;
}
return cnt;
}
int main()
{
int x , st , dr , mij ;
fin >> x;
st = 1;
dr = 500000000;
while(st<=dr)
{
mij = (st + dr)/2;
if(x > nrzer(mij))
st = mij+1;
else
dr = mij-1;
}
if(nrzer(st)==x)
fout<<st;
else
fout<<"-1";
return 0;
}
