Pagini recente » Cod sursa (job #2383484) | Cod sursa (job #2186582) | Cod sursa (job #1114094) | Cod sursa (job #2700985) | Cod sursa (job #2346731)
#include <cstdio>
using namespace std;
FILE *in_file = fopen("fact.in", "r");
FILE *out_file = fopen("fact.out", "w");
const int SIZE = 2100000000;
int findTrailingZeros(int n){
int counter = 0;
for(int i = 5; n/i >= 1; i *= 5 )
counter += n/i;
return counter;
}
int binarySearch(int left, int right, int p)
{
int mid, temp, k = -1;
while( left <= right )
{
mid = (left + right)/2;
temp = findTrailingZeros(mid);
if( temp == p ){
k = mid;
right = mid-1;
}
else if( temp > p )
right = mid -1;
else
left = mid + 1;
}
return k;
}
int main()
{
int p;
fscanf(in_file, "%d", &p);
fprintf(out_file, "%d", binarySearch(1, SIZE, p) );
return 0;
}