Cod sursa(job #2068132)
Utilizator | Data | 17 noiembrie 2017 11:07:10 | |
---|---|---|---|
Problema | Factorial | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.5 kb |
#include <fstream>
using namespace std;
ifstream in ("fact.in");
ofstream out ("fact.out");
int zero(int n)
{
if (n < 5)
return 0;
else
return n/5+zero(n/5);
}
int main()
{
int p,pas=1<<30,r=0;
in>>p;
if (p==0)
out<<"1";
else
{
while (pas)
{
if (zero(r+pas)<p)
r+=pas;
pas/=2;
}
r++;
if (zero(r)==p)
out<<r;
else
out<<-1;
}
return 0;
}