Cod sursa(job #2182111)
| Utilizator | Data | 22 martie 2018 09:53:19 | |
|---|---|---|---|
| Problema | Factorial | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.64 kb |
#include <fstream>
using namespace std;
ifstream in ("fact.in");
ofstream out ("fact.out");
const int L=28;
int nrzero(int n)
{
int nr0=0;
while(n>=5)
{
nr0+=n/5;
n/=5;
}
return nr0;
}
int cb(int p)
{
int n=0, pas=1<<L;
while(pas!=0)
{
if(nrzero(n+pas)<p)
n+=pas;
pas/=2;
}
n++;
return n;
}
int main()
{
int r=0, pas=0, p=0;
in>>p;
pas=1<<L;
while(pas!=0)
{
if(nrzero(r+pas)<p)
r+=pas;
pas/=2;
}
r++;
if(nrzero(r)!=p)
{
r=-1;
}
out<<r;
in.close();
out.close();
return 0;
}
