Pagini recente » Cod sursa (job #107259) | Cod sursa (job #1958510) | Cod sursa (job #2113383) | Cod sursa (job #1392900) | Cod sursa (job #2881867)
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
long long nr_zero;
long long st = 1, dr = 1e17, rez = -1;
int esteok(long long mij)
{
long long k = 5;
long long n1 = 0;
while(k <= mij)
{
n1 = n1 + mij/k;
k = k * 5;
if(n1 > nr_zero)
return 1;
//cout<<n1<<" "<<k<<"\n";
}
if(n1 == nr_zero)
return 2;
else if(n1>nr_zero)
return 1;
else
return 0;
}
void CautBin()
{
while(st <= dr)
{
long long mij = st+(dr-st)/2;
cout<<st<<" "<<dr<<" "<<mij<<"\n";
int adev = esteok(mij);
cout<<adev<<" ";
if(adev == 1 || adev == 2)
{
if(adev==2)
rez=mij;
dr=mij-1;
}
else
st=mij+1;
}
g<<rez;
}
int main()
{
f>>nr_zero;
CautBin();
}