Cod sursa(job #2071231)
Utilizator | Pana Claudiu Claudiu07 | Data | 20 noiembrie 2017 14:56:46 |
---|---|---|---|
Problema | Factorial | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.59 kb |
#include <fstream>
#define M 30
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
int p;
int nrz(int nr)
{
int s = 0;
while (nr >= 5)
{
s += nr / 5;
nr /= 5;
}
return s;
}
int cb()
{
int pas = 1 << M, r = 0;
while (pas != 0)
{
if (nrz(r + pas) < p)
{
r += pas;
}
pas >>= 1;
}
return r + 1;
}
int main()
{
f>> p;
if (nrz(cb()) == p)
{
g<< cb();
}
else
{
g<< -1;
}
return 0;
}