Pagini recente » Cod sursa (job #523142) | Cod sursa (job #25116) | Cod sursa (job #2545286) | Cod sursa (job #1157011) | Cod sursa (job #645293)
Cod sursa(job #645293)
#include <cstdio>
#define UPPER_BOUND 500000000
using namespace std;
int P;
int countZeros(int x)
{
int sum = 0;
while(x >= 5)
{
x = x/5;
sum+=x;
}
return sum;
}
int search(int l, int r)
{
bool found = false;
int sol = 0;
while(l < r)
{
int mid = (l+r)/2;
//printf("%d - %d\n", mid, countZeros(mid));
if(countZeros(mid) < P)
{
l = mid + 1;
}
else
{
if(found == false)
{
if(countZeros(mid) == P)
found = true;
}
sol = mid;
r = mid;
}
}
if(found)
return sol;
return -1;
}
int main()
{
freopen("fact.in", "r", stdin);
freopen("fact.out", "w", stdout);
scanf("%d", &P);
printf("%d", search(1, UPPER_BOUND));
return 0;
}