Pagini recente » Cod sursa (job #2049667) | Cod sursa (job #2098701) | Cod sursa (job #2197809) | Cod sursa (job #1784358) | Cod sursa (job #2491789)
#include <fstream>
using namespace std;
ifstream in ("fact.in");
ofstream out ("fact.out");
int fact(long long a)
{
long long cnt=0,pow=5;
while (pow<=a)
{
cnt+=a/pow;
pow*=5;
}
return cnt;
}
long long cautare (long long val)
{
long long pos=0;
for (long long msk=1<<30;msk>0;msk/=2)
{
if (fact(pos+msk)<=val)
pos+=msk;
}
if (fact(pos)!=val)
return -1;
while (fact(pos)==val)
pos--;
pos++;
return pos;
}
int main()
{
long long n;
in>>n;
if (n==0)
out<<1;
else
out<<cautare(n);
return 0;
}