I often use the following trick in my code.
Let “a” and “b” be real positive numbers. You want to find the smallest integer greater than or equal to “a/b”. Perhaps your code looks like:
double a, b;long c;c = (long) ceil( a / b );
Now, the question remains the same, but your numbers “a” and “b” happen to be integers. You can write:
long a, b, c;c = (long) ceil( (double)a/(double)b );
However, there is a more elegant and efficient solution:
long a, b, c;c = (a - 1) / b + 1;