Artículos
Java

Dividir sin dividir con Java

18/Feb/2016

Un problema muy sencillo de programación, y que nos habéis preguntado en los foros, que nos puede dar algún quebradero de cabeza es el de dividir sin dividir con Java. Es decir, cómo podemos obtener el cociente y el resto de una división sin utilizar el operador de división (/), ni el operador de resto(%).

En una operación normal tendríamos la siguiente operación:

int cociente = dividendo/divisor;
int resto = dividendo%divisor;

Pero ahora no utilizaremos los operadores. Lo primero que tenemos que recordar es que una división es un conjunto de restas. De tal manera que el cociente será el número de restas que hagamos del divisor sobre el dividendo y su resultado hasta que la resta sea 0 o menor de 0.

Es decir, si tenemos que dividir 13 entre 2 tendríamos la siguiente secuencia:

13/2
13 - 2 = 11
11 - 2 = 9
9 - 2 = 7
7 - 2 = 5
5 - 2 = 3
3 - 2 = 1
1 - 1 = -1

El cociente será el número de restas ejecutadas, en este caso 6. Y el resto será el valor de la última resta, pero en positivo.

Cuando vayamos a codificar el dividir sin dividir con Java lo primero que haremos será definir el dividendo y divisor.

int dividendo = 13;
int divisor = 2;

Por otro lado definimos una variable que sea el cociente y que incrementaremos en cada resta.

int cociente = 0;

Y ahora empezamos a realizar las restas mediante un bucle, mientras el resultado sea mayor de 0.

while (dividendo >0) {
  cociente++;
  dividendo = dividendo-divisor;								
} 

Ya solo nos quedará el mostrar el cociente y el resto.

System.out.println("Cociente " + cociente);
System.out.println("Resto " + (-dividendo));

Y ya habremos conseguido el dividir sin dividir con Java.

Código Fuente

Descárgate el código fuente de Dividir sin dividir con Java
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star

Vídeos sobre Java

Disfruta también de nuestros artículos sobre Java en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Java

¿Te atreves a probar tus habilidades y conocimiento en Java con nuestro test?

Test Java
Suscribir
Notificar de
guest
3 Comentarios
Recientes
Anteriores Más votados
Opiniones integradas
Ver todos los comentarios