¿Por qué el algoritmo de división de Euclides del resto no negativo no se sigue en la programación?

Gracias por A2A,

El algoritmo de división de Euclides para el resto no negativo no se sigue en los lenguajes de programación C porque el lenguaje de programación C sigue al operador % (que devuelve un resultado negativo para algunas entradas) pero no al operador del módulo (que devuelve un resultado no negativo).

Ahora en tu ejemplo,

-7% 2 = -1 (resto)

porque si sigues las matemáticas simples,

2 * -3 = -6

-7 – (- 6) = -1 (resto)

Similar,

7% -2 = 1

aquí también si el dividendo es positivo, entonces tenemos que hacer que el valor sea positivo para restar como

-2 * -3 = 6

7–6 = 1 (resto)

En informática, es el operador restante el que generalmente se indica mediante “%” (por ejemplo, en C, C ++, Java, JavaScript, Perl, Python y Scala ) o “mod” (por ejemplo, en Pascal, BASIC, SQL, Haskell, ABAP y MATLAB ) con excepciones (por ejemplo, Excel). Estos operadores se pronuncian comúnmente como “mod”, pero se calcula específicamente un resto (ya que en C ++ se devolverá un número negativo si el primer argumento es negativo, y en Python se devolverá un número negativo si el segundo argumento es negativo). La función módulo en lugar de mod , como 38 × 14 (módulo 12) a veces se usa para indicar el residuo común en lugar de un resto. Por ejemplo, el lenguaje de programación Ruby tiene tanto módulo como resto.