Pagini recente » Cod sursa (job #2716648) | Cod sursa (job #2290604) | Cod sursa (job #1440808) | Cod sursa (job #3171153) | Cod sursa (job #521529)
Cod sursa(job #521529)
#include<iostream>
#include<fstream>
using namespace std;
long p;
int bins(long long st, long long dr)
{
long long cp,m,s=0;
while(st<dr)
{
s=0;
m=(st+dr)/2;
cp=m;
while(cp!=0)
{
s=s+cp/5;
cp=cp/5;
}
if(s==p) return m;
if(s>p) dr=m-1;
else st=m+1;
}
return 0;
}
int main()
{
ifstream f("fact.in");
ofstream g("fact.out");
f>>p;
long long n,s,cop;
if(p==0)
g<<1;
else
if(!bins(0 , 4000005015))
cout<<-1;
else
{
n=bins(0 , 4000005015);
s=p;
while(s==p)
{
s=0;
n--;
cop=n;
while(cop!=0)
{
s=s+cop/5;
cop=cop/5;
}
}
g<<n+1;
}
}