Cod sursa(job #1691061)
| Utilizator | Data | 16 aprilie 2016 19:04:02 | |
|---|---|---|---|
| Problema | Factorial | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.6 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
int nrz(int m)
{
int nr=0;
while(m>=5)
{
m/=5;
nr+=m;
}
return nr;
}
void cautbin(int x)
{
int a,b,m;
int nr;
a=1;
b=500000000;
while (a<=b)
{
m=(a+b)/2;
nr=nrz(m);
if (nr>=x) b=m-1;
else a=m+1;
}
if (nr==x) g<<m;
else if (nrz(m+1)==x) g<<m+1;
else g<<-1;
}
int main()
{
int p=1;
f>>p;
cautbin(p);
f.close();
g.close();
return 0;
}
