Pagini recente » Cod sursa (job #2914169) | Cod sursa (job #355327) | Cod sursa (job #2133261) | Cod sursa (job #1938979) | Cod sursa (job #2069495)
#include <fstream>
#include<climits>
#define Maxim INT_MAX
using namespace std;
long long p;
long long NrZeroes(long long x)
{
long long putere=5,suma=0;
while(putere<=x)
{suma+=x/putere;putere*=5;}
return suma;
}
long long cautbin(long long left,long long right,long long val)
{
long long st=left,dr=right,LastApp=-1;
while(st<=dr)
{
long long mij=(dr-st)/2+st;
long long fct=NrZeroes(mij);
if(fct<p){st=mij+1;continue;}
if(fct>p){dr=mij-1;continue;}
LastApp=mij;
dr=mij-1;
}
return LastApp;
}
int main()
{
ifstream f("fact.in");
ofstream g("fact.out");
f>>p;
g<<cautbin(1,Maxim,p)<<'\n';
return 0;
}