Hay una pregunta en el sitio que pide implementar la división sin usar la división.
En mi caso, te pido que hagas lo mismo, pero solo usando la suma.
Lo que esto significa es básicamente: la suma es el único operador o función permitida que opera en números y devuelve otros números (es decir, no resta, multiplicación, exponenciación, inversión bit a bit, etc.). Cosas como si las declaraciones, los operadores de asignación y comparación, y para los bucles todavía están permitidos, siempre que dentro de ellos, solo use la suma.
Su tarea es construir una función divide(a, b)
que toma dos números enteros positivos a
y b
y devuelve el resultado de a
haber sido dividido por b
y redondeado hacia cero, pero el uso de la suma y no hay otros operadores aritméticos, y no hay otras construcciones de datos, además de los números.
El código que gana será el que requiere las operaciones de suma menor cantidad a realizar sobre el conjunto de entradas donde a
varía de 1
a 200
y b
varía de 1
a a
.
Para realizar un seguimiento de esto, se puede construir una versión alternativa de su código que reemplaza todas las instancias de a + b
la add(a, b)
y el programa add
para incrementar un mundial add_used
variable así como devolver la suma de los dos números.