Pagini recente » Cod sursa (job #1307468) | Cod sursa (job #1676648) | Cod sursa (job #122058) | Cod sursa (job #1947449) | Cod sursa (job #2792837)
#include <fstream>
#include <climits>
using namespace std;
ifstream cin("fact.in");
ofstream cout("fact.out");
int p;
long long howMany(int putere, long long n)
{
long long sol = 0, x=putere;
while(x <= n)
sol += n/x, x *= putere;
return sol;
}
int main(int argc, const char * argv[]) {
cin>>p;
if(p == 0)
{
cout<<1;
return 0;
}
long long l=1, r=LONG_LONG_MAX, mid, sol = 0;
while(l <= r)
{
mid = (l+r)/2;
long long putere = min(howMany(2, mid), howMany(5, mid));
if(putere < p)
l = mid+1;
else if(putere == p)
sol = mid, r = mid-1;
else r = mid-1;
}
cout<<sol<<'\n';
return 0;
}