Pagini recente » Borderou de evaluare (job #2588566) | Borderou de evaluare (job #1631384) | Cod sursa (job #2923980) | Borderou de evaluare (job #2057938) | Cod sursa (job #1817265)
#include<fstream>
using namespace std;
ifstream cin("fact.in");
ofstream cout("fact.out");
long long p,rez = -1;
int main()
{
cin >> p;
long long st = 1,mid,dr = 1000000100,aux1;
while(st <= dr)
{
mid = st + dr;mid/=2;
aux1 = 0;
for(int i = 5; i <= mid; i *= 5)aux1+=(mid/i);
if (aux1 == p) rez = mid, dr = mid-1;
else if (aux1 > p)
{
dr = mid - 1;
}else st = mid + 1;
}
//if (rez == 100000010) cout << "-1";
cout << rez;
}