Cod sursa(job #2617797)
| Utilizator | Data | 22 mai 2020 21:44:13 | |
|---|---|---|---|
| Problema | Factorial | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.65 kb |
#include <fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
int nrZero(int n)
{
int nr=0, p=5;
while (n/p)
{
nr=nr+n/p;
p=p*5;
}
return nr;
}
int main()
{
//cout<<nrZero(45);
int p,ok;
int a,b,n;
f>>p;
a=0; b=2000000000;
ok=0;
if (p==0)
{
g<<1;
return 0;
}
while (a<=b && ok==0)
{
n=(a+b)/2;
if (nrZero(n)==p)
ok=n;
else if (nrZero(n)<p) a=n+1;
else b=n-1;
}
if (ok==0) g<<-1;
else
{
n=n/5*5;
g<<n;
}
return 0;
}
