Pagini recente » Cod sursa (job #213360) | Cod sursa (job #1197192) | Cod sursa (job #196049) | Cod sursa (job #2771895) | Cod sursa (job #2680854)
#include <stdio.h>
int numbersOfZero(int n) {
int prod = 5;
int num = 0;
while(n/prod != 0) {
num += n/prod;
prod *= 5;
}
return num;
}
int binarySearch(int no) {
if(no == 0) {
return 1;
}
int low = 0;
int high = 10000000;
while(low < high) {
int mid = low+(high-low)/2;
if (mid % 10 < 5) {
mid -= mid % 10;
} else {
mid = (mid / 10) * 10 + 5;
}
int nosOfZero = numbersOfZero(mid);
if(nosOfZero == no) {
return mid;
}
if(no < nosOfZero) {
high = mid;
} else {
low = mid;
}
}
return -1;
}
int main()
{
freopen("fact.in", "r", stdin);
freopen("fact.out", "w", stdout);
int n;
scanf("%d", &n);
int num = binarySearch(n);
printf("%d\n", n == 0? 1: num);
return 0;
}