Pagini recente » Cod sursa (job #1135459) | Cod sursa (job #88446) | Cod sursa (job #2807424) | Cod sursa (job #2721971) | Cod sursa (job #2620271)
#include <bits/stdc++.h>
using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");
long long nrzero(long long n)
{
//Un 0 de la sfarsitul unui numar este format prin inmultire de 5*2
//Caut atatia divizori ai lui 5 pana ajung la n, am grija ca un nr poate avea 5 la o putere
long long put5=5,cnt=0;
while(n/put5)
{
cnt+=n/put5;
put5*=5;
}
return cnt;
}
long long cautbin(int n)
{
long long poz=0,i=1LL*1<<60;
for(;i>0;i/=2)
if(i+poz<1LL*1<<60 && nrzero(i+poz)<n)
poz+=i;
if(nrzero(poz+1)==n)
return poz+1;
else return -1;
}
int main()
{
int n;
in>>n;
out<<cautbin(n);
return 0;
}