C++ integer division algorithm