Предположим, вы хотите выразить x = a + b
, где a
и b
максимально приближены к x/2
:
a = ceiling(x / 2.0);
b = floor(x / 2.0);
Это псевдокод, вы должны выяснить фактические функции для пола и потолка в вашей библиотеке. Убедитесь, что деление выполняется как числа с плавающей запятой.
как чистые целые числа:
a = x / 2 + (x % 2 == 0 ? 0 : 1);
b = x / 2
(Это может быть немного подозрительно для отрицательных чисел, поскольку это будет зависеть от поведения деления и по модулю для отрицательных чисел.)