Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions es/task-22.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
_Mi colega me ha vuelto a contar este puzle después de una entrevista en una oficina local de la empresa Oracle.
Espero recordarla correctamente._

John y Mary fundaron la **Editoral J&M** y compraron dos viejas impresoras como equipo.

Ahora tienen su primer acuerdo comercial - imprimir un documento que tiene `N` páginas.

Parece que las impresoras trabajan a distintas velocidades. Una imprime una página cada `X` segundos y la otra lo hace en `Y` segundos.

Ahora los fundadores tienen curiosidad por saber el tiempo mínimo que pueden tardar en imprimir el documento con sus impresoras.

**Datos de Entrada** contine el número de casos que se van a presentar en la primera linea.
A partir de ahi, cada caso aparecerá en una nueva línea.
Cada caso contendrá tres valores de tipo entero - `X Y N`, donde `N` no sobrepasará `1,000,000,000`.
**Respuesta** debe contener el tiempo mínimo de impresión para cada caso, separados por espacios.

Ejemplo:

Datos de Entrada:
2
1 1 5
3 5 4

Respuesta:
3 9
33 changes: 33 additions & 0 deletions es/task-23.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
Este problema proporciona un ejercicio para el aprendizaje de la idea centra del infame algoritmo de ordenación - [ordenación por burbuja](./bubble-sort) - el cual
se estudiará un poco más tarde.

Dado un vector de enteros, necesitaremos iterar sobre todas las parejas de elementos vecinos, empezando por el principio -
e intercambiando los miembros de cada pareja, cuando el primero sea mayor que el segundo.

Por ejemplo, consideremos un pequeño vector con los elementos `1 4 3 2 6 5`, y marquemos las parejas que se intercambiarán y cuales no:

(1 4) 3 2 6 5 - permanece igual
1 (4 3) 2 6 5 - intercambio
1 3 (4 2) 6 5 - intercambio
1 3 2 (4 6) 5 - permanece igual
1 3 2 4 (6 5) - intercambio
1 3 2 4 5 6 - permanece igual

Esta operación mueve los elementos mayores hacia la derecha, hacia el final del vector, y los elementos más pequeños hacia la izquierda
(hacia el principio).
Lo que es más importante: **el elemento más grande acabará en la última posición**.

**Datos de entrada** contienen la secuencia de elementos del vector, todos positivos. Después el valor `-1` indica el final
(por tanto, no debe ser incluido en el vector).
**Respuesta** debe contener dos valores - el numero de intercambios efectuados y la suma de comprobación de dicho vector
después de procesado (separados por espacios).
La suma de comprobación debe ser calculada con el mismo método usado en
la tarea [Suma de comprobación de un vector](./array-checksum)

Ejemplo:

Datos de ENtrada:
1 4 3 2 6 5 -1

Respuesta:
3 5242536