по модулю может быть реализовано% n = a - (n * (a / n);
Таким образом, учитывая это, вы можете переписать как
const int div = a / b;
r = div + (((a - (n * div)) != 0) ? 1 : 0 );
, что будет незначительно быстрее, поскольку вы делаете только один дел вместо 2 *.
Редактировать: Если b является константой, то вы можете полностью удалить деление и заменить его умножением на «магическое число» (относящееся к делителю константы), которое снова будет немного быстрее Затем компилятор снова выполнит эту оптимизацию в любом случае с постоянным делителем.