Pagini recente » Istoria paginii runda/rock | Cod sursa (job #1086932) | Cod sursa (job #199443) | Cod sursa (job #752555) | Cod sursa (job #2138550)
#include <bits/stdc++.h>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
int factorial(int n)
{
long long s=0;
while (n>=5)
{
s=s+n/5;
n=n/5;
}
return s;
}
int cautare_binara(int n)
{
int st=0,m,dr=1000000000;
while (st<dr)
{
m=(st+dr)/2;
if (factorial(m)>n)
{
dr=m;
}
else st=m+1;
}
st=st-5;
return st;
}
unsigned long long n,x,y,m,j,b,i,c,u,k,z,l,t[1001],a,p,v[1001],ok=0,d,r,s=1;
int main()
{
f>>p;
if (p==0)
{
g<<1;
}
else
{
if (factorial(cautare_binara(p))!=p)
{
g<<-1;
}
else g<<cautare_binara(p);
}
}