Cod sursa(job #2089211)
| Utilizator | Data | 16 decembrie 2017 11:39:45 | |
|---|---|---|---|
| Problema | Factorial | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.69 kb |
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream f("fact.in");
ofstream g("fact.out");
long long ls=200000000000, c, m,x, p, li=1;
f>>p;
if (p==0) g<<1;
else
{
while (li<ls)
{
m=(li+ls)/2;
x=m;
c=0;
while (x)
{
c=c+x/5;
x=x/5;
}
if (c<p)
li=m+1;
else
ls=m;
}
///li==ls;
c=0;
while (li)
{
c=c+li/5;
li=li/5;
}
if (c==p)
g<<ls;
else
g<<-1;
}
return 0;
}
