Pagini recente » Cod sursa (job #77342) | Cod sursa (job #2806636) | Cod sursa (job #2033052) | Cod sursa (job #2320554) | Cod sursa (job #2461007)
#include <fstream>
using namespace std;
ifstream fin ("fact.in");
ofstream fout ("fact.out");
long long raspuns, produs;
long long legendre (long long n)
{
raspuns=0;produs=5;
while(produs<=n)
raspuns+=n/produs,produs*=5;
return raspuns;
}
int main ()
{
int n;long long prima,ultima,k,var1,var;
fin>>n;
prima=0;ultima=4000000000000000000;
while(prima<=ultima)
{
k=(prima+ultima)/2;
var=legendre(k);var1=legendre(k-1);
if(var==n && (k==0 || var1<n))
{
fout<<k;
return 0;
}
else if(var<n)
prima=k+1;
else if(var>=n)
ultima=k-1;
}
return 0;
}