Pagini recente » Cod sursa (job #2577507) | Cod sursa (job #2200284) | Cod sursa (job #2629776) | Cod sursa (job #676611) | Cod sursa (job #2506713)
#include<bits/stdc++.h>
using namespace std;
long long n;
ifstream in("fact.in");
ofstream out("fact.out");
#define MAX 100000000000
long long get_zero_in_factorial(long long last)
{
long long div=5;
long long result=0;
while(div<=last)
{
result+=last/div;
div*=5;
}
return result;
}
int solve()
{
long long left=1,right=MAX;
long long to_return=-1;
while(1)
{
if(left>=right)
{
to_return=left;
break;
}
long long middle=(left+right)/2;
long long here=get_zero_in_factorial(middle);
if(n<=here)
{
right=middle;
}
else if(n>here)
{
left=middle+1;
}
}
if(get_zero_in_factorial(to_return)==n)
return to_return;
return -1;
}
int main()
{
in>>n;
out<<solve();
}