From 89e0ea63f833c86526919c48df2d124ced013d4b Mon Sep 17 00:00:00 2001 From: David Ernesto Ramirez Arboleda <69372872+MultivacR@users.noreply.github.com> Date: Sun, 16 Aug 2020 09:08:17 -0500 Subject: [PATCH 01/28] Create task-57 --- es/task-57 | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 es/task-57 diff --git a/es/task-57 b/es/task-57 new file mode 100644 index 0000000..d232707 --- /dev/null +++ b/es/task-57 @@ -0,0 +1,36 @@ +
+ smooth line chart example +
+ +El pequeño Merlin quiere ser meteorologo. El mide la temperatura del aire cada hora así que despues de +varios dias el tiene una larga secuencia de valores. + +Sin embargo, sus instrumentos no son ideales por lo que las mediciones no son exactas--ellos aleatoreamente +saltan hacia arriba y hacia abajo algunos grados del valor real. + +observando esto, Merlin decide hacer los datos más suaves. Para lograrlo, el solo necesita que cada valor +sea substituido por el promedio de sus dos vecinos. Por ejemplo, si el tiene una secuencia de cinco valores como esta: + + 3 5 6 4 5 + +Entonces el segundo (i.e. `5`) debe ser sustituido por `(3 + 5 + 6) / 3 = 4.66666666667`, +el tercero (i.e. `6`) debe ser sustituido por `(5 + 6 + 4) / 3 = 5`, +el cuarto (i.e. `4`) debe ser sustituido por `(6 + 4 + 5) / 3 = 5`. +Por convencion, los valores primero y ultimo permanecerán iguales. + +En la imagen de arriba la linea azul muestra los datos sin procesar, mientras que la roja los muestras suavizados. + +Tienes que escribir un programa que le ayude al pequeño Merlin con este algoritmo de procesamiento digital de señales. + +**Datos de entrada** En esta primera linea, se dará la longitud de la secuencia de datos de la segunda linea. +La segunda linea contendra las mediciones. +**Respuesta** debe contener la secuencia procesada. Todos los valores deben ser calculados con una precision minima de `1e-7`. + +Ejemplo: + + datos de entrada: + 7 + 32.6 31.2 35.2 37.4 44.9 42.1 44.1 + + respuesta: + 32.6 33 34.6 39.1666666667 41.4666666667 43.7 44.1 From 25f61fcffb733fa5ec79de114ee5190088f436d3 Mon Sep 17 00:00:00 2001 From: David Ernesto Ramirez Arboleda <69372872+MultivacR@users.noreply.github.com> Date: Sun, 16 Aug 2020 09:09:05 -0500 Subject: [PATCH 02/28] Create task-68 --- es/task-68 | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 es/task-68 diff --git a/es/task-68 b/es/task-68 new file mode 100644 index 0000000..49842a6 --- /dev/null +++ b/es/task-68 @@ -0,0 +1,29 @@ +
+ two cyclists +

+ +Dos ciclistas empiezan a moverse desde ciudades diferentes para encontrarse en algun lugar en el medio (no exactamente +dado que ellos viajan a diferentes velocidades) + +La carretera está trazada en linea recta entre las dos ciudades. + + +Te serán dadas las distancia entre las ciudades `S` (en kilometros) y la rapides para los dos ciclistas (`A` y `B` en +kilometros por hora). Tú tarea es encontrar el punto de encuentro (la distancia medida desde la primera ciudad) + +**Datos de entrada** tendrá el numero de casos de prueba en la primera linea. +Las siguientes lineas tendrán tres valores cada una `S A B`. +**Respuesta** debe contener las distancias entre la primera ciudad y el punto de encuentro (es decir, la distancia recorrida por el primer cilista +antes del cruce entre ellos), separado con espacios. + +Ejemplo: + + datos de entrada: + 2 + 10 1 1 + 20 1 2 + + respuesta: + 5 6.66666667 + +*Nota: los valores (punto flotante) deben tener una precision minima de `10e-7`* From 0a397d0271f2ce0c35d2283cd0cd03732825e33a Mon Sep 17 00:00:00 2001 From: David Ernesto Ramirez Arboleda <69372872+MultivacR@users.noreply.github.com> Date: Sun, 16 Aug 2020 09:26:56 -0500 Subject: [PATCH 03/28] Create task-50 --- es/task-50 | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 es/task-50 diff --git a/es/task-50 b/es/task-50 new file mode 100644 index 0000000..d2b2a91 --- /dev/null +++ b/es/task-50 @@ -0,0 +1,27 @@ + +La palabra o frase completa la cual tiene la misma secuencia de letras en ambas direcciones es llamada **palindrome**. Aqui hay +unos ejemplos: + + Stats + Amore, Roma + No 'x' in Nixon + Was it a cat I saw? + +Como puedes ver, las mayusculas son tomadas como minusculas. Espacios y puntuacion son ignorados. + +Tu meta en este ejercicio de programacion es determinar, si la frase representa un palindrome o no. + +**Datos de Entrada** contiene el numero de frases en la primera linea. +Las siguientes lineas contienen una frase cada una. +**Respuesta** debe tener una sola letra (separada por espacio) para cada frase: `Y` si es un palindrome y `N` si no. + +Ejemplo: + + datos de entrada: + 3 + Stars + O, a kak Uwakov lil vo kawu kakao! + Some men interpret nine memos + + respuesta: + N Y Y From f656ad472ade7530bd877e8fb36e282ecbd4456f Mon Sep 17 00:00:00 2001 From: David Ernesto Ramirez Arboleda <69372872+MultivacR@users.noreply.github.com> Date: Sun, 16 Aug 2020 09:27:46 -0500 Subject: [PATCH 04/28] Update task-68 --- es/task-68 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es/task-68 b/es/task-68 index 49842a6..179df64 100644 --- a/es/task-68 +++ b/es/task-68 @@ -1,5 +1,5 @@
- two cyclists + dos ciclistas

Dos ciclistas empiezan a moverse desde ciudades diferentes para encontrarse en algun lugar en el medio (no exactamente From 8c3054522d0c64b82e1866ef7d4722ab98e110d2 Mon Sep 17 00:00:00 2001 From: David Ernesto Ramirez Arboleda <69372872+MultivacR@users.noreply.github.com> Date: Sun, 16 Aug 2020 09:28:55 -0500 Subject: [PATCH 05/28] Update task-57 --- es/task-57 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es/task-57 b/es/task-57 index d232707..be1b87a 100644 --- a/es/task-57 +++ b/es/task-57 @@ -1,5 +1,5 @@
- smooth line chart example + ejemplo de suavizacion de linea en tabla de datos
El pequeño Merlin quiere ser meteorologo. El mide la temperatura del aire cada hora así que despues de From 3dcb6c5269f34f9456ea978d02ef88b8219aed12 Mon Sep 17 00:00:00 2001 From: David Ernesto Ramirez Arboleda <69372872+MultivacR@users.noreply.github.com> Date: Sun, 16 Aug 2020 10:07:06 -0500 Subject: [PATCH 06/28] Create task-43.md --- es/task-43.md | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 es/task-43.md diff --git a/es/task-43.md b/es/task-43.md new file mode 100644 index 0000000..da7c837 --- /dev/null +++ b/es/task-43.md @@ -0,0 +1,36 @@ + +Cuando se programa un juego de tablero con dados, muchos programadores novatos experimentan problemas en la conversión de valores aleatoreos +a los valores especificos de los puntos en los dados. La meta de esta tarea es dar una practica en simulacion en rodar dados dados recibiendo valores +de un generador de numeros aleatoreos. + +Supon, que tenemos un generador que nos da valores aleatoreos en un rango entre '0' (incluyendolo) y '1' (sin incluirlo) +esto podria ser encontrado en lenguajes como **Basic**, **Java**, **Matlab** etc. + +Queremos convertir esos valores con punto flotante a uno de los seis numeros **enteros**: entre '1' y'6'. Esto podria ser +logrado realizando los siguientes pasos: + +1. Multiplica el valor aleatoreo por N el cual es el numero de valores que queremos obtener - en nuestro caso multiplicaremos por '6' y + el resultado será un valor punto flotante en el rango entre '0' (incluido) y '6' ( no incluido) +2. Ahora tomamos la parte entera del resultado (funcion llamada 'floor' -piso- o convertir a 'int' -entero-) + se convertira en uno de los siguientes: `0`, `1`, `2`, `3`, `4`, `5 con la misma probabilidad para cada uno. +3. Dado que necesitamos valores entre '1' y '6' nosotros simplemente añadimos '1' al resultado. + +Ahora te serán dados varios numeros en el rango `[0 .. 1)` (puedes estar seguro, ellos son provistos por un generador de numeros aleatoreos) - +y tú tienes que convertirlos a valores de dados utilizando el algoritmo de arriba. + +**Datos de entrada** En la primera linea contendran el numero total de valores a convertir. +Las siguientes lineas contendran un valor cada una, en forma como `0.142857`. +**Respuesta** deberá contener numeros entre '1' y '6' para cada valor de entrada, producido por el algoritmo mostrado. + +Ejemplo: + + 6 + 0.59558786964 + 0.861037873663 + 0.385597702116 + 0.246237673331 + 0.808033385314 + 0.0544673665427 + + respuesta: + 4 6 3 2 5 1 From 9d4399551fd72d5fd04e69205e885a00acb747cf Mon Sep 17 00:00:00 2001 From: David Ernesto Ramirez Arboleda <69372872+MultivacR@users.noreply.github.com> Date: Sun, 16 Aug 2020 10:14:49 -0500 Subject: [PATCH 07/28] Rename task-50 to task-50.md --- es/{task-50 => task-50.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename es/{task-50 => task-50.md} (100%) diff --git a/es/task-50 b/es/task-50.md similarity index 100% rename from es/task-50 rename to es/task-50.md From a3c79aa63bb384791f6ad3ccb40789cc5940090c Mon Sep 17 00:00:00 2001 From: David Ernesto Ramirez Arboleda <69372872+MultivacR@users.noreply.github.com> Date: Sun, 16 Aug 2020 10:15:26 -0500 Subject: [PATCH 08/28] Rename task-57 to task-57.md --- es/{task-57 => task-57.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename es/{task-57 => task-57.md} (100%) diff --git a/es/task-57 b/es/task-57.md similarity index 100% rename from es/task-57 rename to es/task-57.md From 946db84d07884822a498d2459b23d13ab9319d34 Mon Sep 17 00:00:00 2001 From: David Ernesto Ramirez Arboleda <69372872+MultivacR@users.noreply.github.com> Date: Sun, 16 Aug 2020 10:15:57 -0500 Subject: [PATCH 09/28] Rename task-68 to task-68.md --- es/{task-68 => task-68.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename es/{task-68 => task-68.md} (100%) diff --git a/es/task-68 b/es/task-68.md similarity index 100% rename from es/task-68 rename to es/task-68.md From 93238f2c5781d7a3b6bb150ed2e5930f348e5fd2 Mon Sep 17 00:00:00 2001 From: David Ernesto Ramirez Arboleda <69372872+MultivacR@users.noreply.github.com> Date: Sun, 16 Aug 2020 10:39:29 -0500 Subject: [PATCH 10/28] Create task-48.md --- es/task-48.md | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 es/task-48.md diff --git a/es/task-48.md b/es/task-48.md new file mode 100644 index 0000000..972ab5a --- /dev/null +++ b/es/task-48.md @@ -0,0 +1,37 @@ + +Este es uno de los problemas matematicos más misteriosos del siglo pasado -- porque su planteamiento es extremadamente simple- +y porque la prueba es a+un desconocida. Sin embargo, ofrece un buen ejercicio de programación para novatos. + +**Suponga** que selecionamos un valor inicial 'X' y luego construimos una secuencia de valores siguiendo las reglas a continuación: + + si X es par (i.e. X modulo 2 = 0) entonces + Xsiguiente = X / 2 + sino + Xnext = 3 * X + 1 + +Es decir, si `X` es impar, la secuencia crecerá -- y si es par, la sefcuencia decrece. Por ejemplo, con `X = 15` tenemos la secuencia: + + 15 46 23 70 35 106 53 160 80 40 20 10 5 16 8 4 2 1 + +Después de que la secuencia alcanza '1' entra en el loop `1 4 2 1 4 2 1...`. + +La intriga está en el hecho de que dado cualquier numero inicial 'X' la secuencia tarde o temprano alcanza '1' - sinembargo +imaginate que esta `conjetura de Collatz ` fue expresada en '1937' hasta el momento nadie ha logrado probar o encontrar un contraejemplo +(Es decir, un numero para el cual la secuencia no termina en '1' --ya sea un entero para el cual el loop es más grande que un loop creciendo hasta infinitamente) +de que la conjetura es para cualquier 'X'. + +**Tu tarea** es que para los numeros dados calcules cuantos pasos son necesarios para llegar a '1' + +**Datos de entrada** en la primera linea contiene el numero de casos a calcular. +La segunda linea contiene los casos de prueba- Es decir, los valores para los cuales el calculo debe ser hecho. +**Respuesta** debe contener la misma cantidad de resultados, cada una de ellas dando la cuenta de el numero de pasos en la secuencia de Collatz +para llegar a ´1´. + +Por ejemplo: + + datos de entrada: + 3 + 2 15 97 + + respuesta: + 1 17 118 From 7b5f18de5a4037fb502d5a698fe7fd54a06fbb0c Mon Sep 17 00:00:00 2001 From: David Ernesto Ramirez Arboleda <69372872+MultivacR@users.noreply.github.com> Date: Sun, 16 Aug 2020 11:31:47 -0500 Subject: [PATCH 11/28] Create task-27.md --- es/task-27.md | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 es/task-27.md diff --git a/es/task-27.md b/es/task-27.md new file mode 100644 index 0000000..dd1e3d8 --- /dev/null +++ b/es/task-27.md @@ -0,0 +1,52 @@ +_ podria ser util resolver [Bubble in Array](./bubble-in-array) antes de este problema._ + +El ordenamiento de arreglos es un problema popular para los recien llegados -- y extremadamente importante en programación profesional +(bases de datos, bibliotecas etc). + +**Ordenamiento** es reorganizar acorde a alguna regla simple basada en la comparación. Suponte que tenemos el siguiente arreglo: + + a = [3, 1, 4, 1, 5, 9, 2, 6] + +y queremos que sus elementos sean reordenados en un orden no decreciente -Es decir, si un elemento es puesto primero (a la +izquierda) de otro elemento - podemos estar seguros que el primer elemento es menor o igual al segundo. + +Hablando matematicamente, para algunos indices 'i' y 'j' si 'i Date: Sun, 16 Aug 2020 11:43:24 -0500 Subject: [PATCH 12/28] Create task-31.md --- es/task-31.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 es/task-31.md diff --git a/es/task-31.md b/es/task-31.md new file mode 100644 index 0000000..89cd3d0 --- /dev/null +++ b/es/task-31.md @@ -0,0 +1,20 @@ +Rotar la cadena de caracteres en ´K' significa cortar esos caracteres desde el inicio y transferirlos al final de la cadena. +Si 'K' es negativo, los caracteres al contrario deben ser transferidos desde el final hasta el inicio. + +**Datos de entrada** contendran el numero te casos de prueba en la primera linea. +Las siguientes lineas contendran el numero 'K' y alguna cadena 'S' separada por espacio- un par en cada linea. +La cadena 'S' contendra unicamente letras en minusculas. 'K' no excederá la mitad de la longitud de 'S' en valor absoluto. +**Respuesta** debe contener cadenas rotadas de acuerdo con la regla anteriormente dada, separadas por espacios. Por ejemplo: + + datos de entrada: + 2 + 3 forwhomthebelltolls + -6 verycomplexnumber + + respuesta: + whomthebelltollsfor numberverycomplex + +La tarea podria ser facilmente resuelta creando una nueva clase de cadena concatenando las dos subcadenas. +Sin embargo, si quieres un desafio más serio, te puedes animar a desarrollar la rotación "en campo", moviendo los bytes de +la cadena original (Es decir, sin pedir memoria para nuevos datos). Esto podria ser hecho con la ayuda de un loop y solo con +una variable temporal. From ecea330d9f13791379c68decf888bad660510ebd Mon Sep 17 00:00:00 2001 From: David Ernesto Ramirez Arboleda <69372872+MultivacR@users.noreply.github.com> Date: Sun, 16 Aug 2020 11:51:28 -0500 Subject: [PATCH 13/28] Update task-27.md --- es/task-27.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/es/task-27.md b/es/task-27.md index dd1e3d8..c2cbb11 100644 --- a/es/task-27.md +++ b/es/task-27.md @@ -8,7 +8,7 @@ El ordenamiento de arreglos es un problema popular para los recien llegados -- y a = [3, 1, 4, 1, 5, 9, 2, 6] y queremos que sus elementos sean reordenados en un orden no decreciente -Es decir, si un elemento es puesto primero (a la -izquierda) de otro elemento - podemos estar seguros que el primer elemento es menor o igual al segundo. +izquierda) de otro elemento - podemos estar seguros que el primer elemento es menor o igual que el segundo. Hablando matematicamente, para algunos indices 'i' y 'j' si 'i Date: Sun, 16 Aug 2020 11:54:38 -0500 Subject: [PATCH 14/28] Update task-31.md --- es/task-31.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/es/task-31.md b/es/task-31.md index 89cd3d0..c81beaa 100644 --- a/es/task-31.md +++ b/es/task-31.md @@ -1,7 +1,7 @@ Rotar la cadena de caracteres en ´K' significa cortar esos caracteres desde el inicio y transferirlos al final de la cadena. Si 'K' es negativo, los caracteres al contrario deben ser transferidos desde el final hasta el inicio. -**Datos de entrada** contendran el numero te casos de prueba en la primera linea. +**Datos de entrada** contendrán el numero de casos de prueba en la primera linea. Las siguientes lineas contendran el numero 'K' y alguna cadena 'S' separada por espacio- un par en cada linea. La cadena 'S' contendra unicamente letras en minusculas. 'K' no excederá la mitad de la longitud de 'S' en valor absoluto. **Respuesta** debe contener cadenas rotadas de acuerdo con la regla anteriormente dada, separadas por espacios. Por ejemplo: @@ -14,7 +14,7 @@ La cadena 'S' contendra unicamente letras en minusculas. 'K' no excederá la mit respuesta: whomthebelltollsfor numberverycomplex -La tarea podria ser facilmente resuelta creando una nueva clase de cadena concatenando las dos subcadenas. +La tarea podria ser facilmente resuelta creando una nueva clase de cadena y concatenando las dos subcadenas. Sin embargo, si quieres un desafio más serio, te puedes animar a desarrollar la rotación "en campo", moviendo los bytes de la cadena original (Es decir, sin pedir memoria para nuevos datos). Esto podria ser hecho con la ayuda de un loop y solo con una variable temporal. From ffa545aff054d491aff5ef3a0227ee2979c3e6eb Mon Sep 17 00:00:00 2001 From: David Ernesto Ramirez Arboleda <69372872+MultivacR@users.noreply.github.com> Date: Sun, 16 Aug 2020 12:06:27 -0500 Subject: [PATCH 15/28] Update task-48.md --- es/task-48.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/es/task-48.md b/es/task-48.md index 972ab5a..e5b63a4 100644 --- a/es/task-48.md +++ b/es/task-48.md @@ -1,22 +1,22 @@ Este es uno de los problemas matematicos más misteriosos del siglo pasado -- porque su planteamiento es extremadamente simple- -y porque la prueba es a+un desconocida. Sin embargo, ofrece un buen ejercicio de programación para novatos. +y porque la prueba es aún desconocida. Sin embargo, ofrece un buen ejercicio de programación para novatos. **Suponga** que selecionamos un valor inicial 'X' y luego construimos una secuencia de valores siguiendo las reglas a continuación: - si X es par (i.e. X modulo 2 = 0) entonces + si X es par (es decir, X modulo 2 = 0) entonces Xsiguiente = X / 2 sino Xnext = 3 * X + 1 -Es decir, si `X` es impar, la secuencia crecerá -- y si es par, la sefcuencia decrece. Por ejemplo, con `X = 15` tenemos la secuencia: +Es decir, si `X` es impar, la secuencia crecerá -- y si es par, la secuencia decrecerá. Por ejemplo, con `X = 15` tenemos la secuencia: 15 46 23 70 35 106 53 160 80 40 20 10 5 16 8 4 2 1 Después de que la secuencia alcanza '1' entra en el loop `1 4 2 1 4 2 1...`. -La intriga está en el hecho de que dado cualquier numero inicial 'X' la secuencia tarde o temprano alcanza '1' - sinembargo -imaginate que esta `conjetura de Collatz ` fue expresada en '1937' hasta el momento nadie ha logrado probar o encontrar un contraejemplo +La intriga está en el hecho de que dado cualquier numero inicial 'X' la secuencia tarde o temprano alcanza '1' - sin embargo +imaginate que esta `conjetura de Collatz ` fue expresada en '1937' y hasta el momento nadie ha logrado probar o encontrar un contraejemplo (Es decir, un numero para el cual la secuencia no termina en '1' --ya sea un entero para el cual el loop es más grande que un loop creciendo hasta infinitamente) de que la conjetura es para cualquier 'X'. @@ -24,7 +24,7 @@ de que la conjetura es para cualquier 'X'. **Datos de entrada** en la primera linea contiene el numero de casos a calcular. La segunda linea contiene los casos de prueba- Es decir, los valores para los cuales el calculo debe ser hecho. -**Respuesta** debe contener la misma cantidad de resultados, cada una de ellas dando la cuenta de el numero de pasos en la secuencia de Collatz +**Respuesta** debe contener la misma cantidad de resultados, cada una de ellas dando la cuenta del numero de pasos en la secuencia de Collatz para llegar a ´1´. Por ejemplo: From 45a19d21ff1dca1d77aa27dad6b1935317b6059e Mon Sep 17 00:00:00 2001 From: David Ernesto Ramirez Arboleda <69372872+MultivacR@users.noreply.github.com> Date: Sun, 16 Aug 2020 12:09:55 -0500 Subject: [PATCH 16/28] Update task-50.md --- es/task-50.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es/task-50.md b/es/task-50.md index d2b2a91..ba3e4e6 100644 --- a/es/task-50.md +++ b/es/task-50.md @@ -11,7 +11,7 @@ Como puedes ver, las mayusculas son tomadas como minusculas. Espacios y puntuaci Tu meta en este ejercicio de programacion es determinar, si la frase representa un palindrome o no. -**Datos de Entrada** contiene el numero de frases en la primera linea. +**Datos de Entrada** En la primera linea, contiene el numero de frases. Las siguientes lineas contienen una frase cada una. **Respuesta** debe tener una sola letra (separada por espacio) para cada frase: `Y` si es un palindrome y `N` si no. From a2166dcf96716bf26325e3e0dbbf34d97a291dd7 Mon Sep 17 00:00:00 2001 From: David Ernesto Ramirez Arboleda <69372872+MultivacR@users.noreply.github.com> Date: Sun, 16 Aug 2020 12:11:20 -0500 Subject: [PATCH 17/28] Update task-57.md --- es/task-57.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es/task-57.md b/es/task-57.md index be1b87a..b8de1f2 100644 --- a/es/task-57.md +++ b/es/task-57.md @@ -5,7 +5,7 @@ El pequeño Merlin quiere ser meteorologo. El mide la temperatura del aire cada hora así que despues de varios dias el tiene una larga secuencia de valores. -Sin embargo, sus instrumentos no son ideales por lo que las mediciones no son exactas--ellos aleatoreamente +Sin embargo, sus instrumentos no son ideales por lo que las mediciones no son exactas--pues aleatoreamente saltan hacia arriba y hacia abajo algunos grados del valor real. observando esto, Merlin decide hacer los datos más suaves. Para lograrlo, el solo necesita que cada valor From 63193e8fc7466a114b45ca0213921d71118683e7 Mon Sep 17 00:00:00 2001 From: David Ernesto Ramirez Arboleda <69372872+MultivacR@users.noreply.github.com> Date: Sun, 16 Aug 2020 12:13:35 -0500 Subject: [PATCH 18/28] Update task-68.md --- es/task-68.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/es/task-68.md b/es/task-68.md index 179df64..04cdd88 100644 --- a/es/task-68.md +++ b/es/task-68.md @@ -2,14 +2,13 @@ dos ciclistas
-Dos ciclistas empiezan a moverse desde ciudades diferentes para encontrarse en algun lugar en el medio (no exactamente -dado que ellos viajan a diferentes velocidades) +Dos ciclistas empiezan simultaneamente a moverse desde ciudades diferentes para encontrarse en algún lugar en el medio (no exactamente +en el punto medio, dado que ellos viajan a diferentes velocidades) La carretera está trazada en linea recta entre las dos ciudades. - -Te serán dadas las distancia entre las ciudades `S` (en kilometros) y la rapides para los dos ciclistas (`A` y `B` en -kilometros por hora). Tú tarea es encontrar el punto de encuentro (la distancia medida desde la primera ciudad) +Te serán dadas las distancia entre las ciudades `S` (en kilometros) y la rapidez para los dos ciclistas (`A` y `B` en +kilometros por hora). Tu tarea es encontrar el punto de encuentro (la distancia medida desde la primera ciudad) **Datos de entrada** tendrá el numero de casos de prueba en la primera linea. Las siguientes lineas tendrán tres valores cada una `S A B`. From 426db1a5447a243a2d43c7ebca2955c3c50b148d Mon Sep 17 00:00:00 2001 From: David Ernesto Ramirez Arboleda <69372872+MultivacR@users.noreply.github.com> Date: Sun, 16 Aug 2020 21:27:33 -0500 Subject: [PATCH 19/28] Create task-24.md --- es/task-24.md | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 es/task-24.md diff --git a/es/task-24.md b/es/task-24.md new file mode 100644 index 0000000..6109aef --- /dev/null +++ b/es/task-24.md @@ -0,0 +1,44 @@ +Numeros aleatoreos son a menudo en programacion de juegos e investigaciones cientificas, pero tambien ellos pueden ser utiles incluso +en aplicaciones de negocios (para generar claves unicas, passwords etc.). Nosotros vamos a aprender como son +generadas y tendremos una practica con algunos metodos simples. + +Aqui está uno de los primeros metodos para producir una secuencia de semilla independiente (Es decir numeros seudoaleatores) de numeros: + +1. Elige un valor inicial de 4 digitos (Es decir en el rango '0000...9999'). +2. multiplicalo por si mismo (Es decir, elevalo a la segunda potencia) para obtener un valor de 8 digitos (añade los ceros - al inicio- faltantes si es necesario). +3. Truncar los dos primeros y dos ultimos digitos en la representación decimal de este resultado. +4. El nuevo valor debe contener 4 digitos y será el siguiente valor de la secuencia. + +Ejemplo: + + 5761 - Tomemos este como el primer numero + 5761 * 5761 = 33189121 - elevemoslo al cuadrado + 33(1891)21 => 1891 - truncamos para obtener el medio + + 1891 - este es el segundo numero de la potencia + 1891 * 1891 = 3575881 - elevado al cuadrado (y llenando con ceros al inicio para obtener 8 digitos) + 03(5758)81 => 5758 - truncamos para obtener el medio + + 5758 - Este es el tercer numero en la secuencia(y así sucesivamente) + +Resulta obvio que tarde o temprano cada secuencia llegará a una especie de bucle, por ejemplo: + + 0001 -> 0000 -> 0000 - llega a un bucle despues de dos iteraciones + 4100 -> 8100 -> 6100 -> 2100 -> 4100 - llega a un bucle despues de 4 iteraciones + +Te seran dados valores iniciales para varias secuencias. Por cada una de ellas, reporta el numero de iteraciones necesarias +para llegar a la repeticion. + +**Datos de entrada** en la primera linea, contendran la cantidad de valores iniciales. En la segunda linea contendran los valores iniciales +separados por espacios. +**Respuesta** debe contener el numero de iteraciones para las secuencias con las cuales dado el valor inicial se convierte en bucle. + +Ejemplo: + + datos de entrada: + 3 + 0001 4100 5761 + + respuesta + 2 4 88 +* Sugerencia: para truncar el valor de 8 dígitos, divídalo por `100` y luego tome el resto de la división por` 10000`. * From a41b34f8dfb7c907b818ecf0e1b1a5890d75f942 Mon Sep 17 00:00:00 2001 From: David Ernesto Ramirez Arboleda <69372872+MultivacR@users.noreply.github.com> Date: Sun, 16 Aug 2020 21:31:33 -0500 Subject: [PATCH 20/28] Update task-24.md --- es/task-24.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/es/task-24.md b/es/task-24.md index 6109aef..e867b96 100644 --- a/es/task-24.md +++ b/es/task-24.md @@ -1,8 +1,8 @@ -Numeros aleatoreos son a menudo en programacion de juegos e investigaciones cientificas, pero tambien ellos pueden ser utiles incluso +Numeros aleatoreos son a menudo usados en programacion de juegos e investigaciones cientificas, pero también ellos pueden ser útiles incluso en aplicaciones de negocios (para generar claves unicas, passwords etc.). Nosotros vamos a aprender como son generadas y tendremos una practica con algunos metodos simples. -Aqui está uno de los primeros metodos para producir una secuencia de semilla independiente (Es decir numeros seudoaleatores) de numeros: +Aqui está uno de los primeros metodos para producir una secuencia de semilla independiente (Es decir numeros seudoaleatoreos): 1. Elige un valor inicial de 4 digitos (Es decir en el rango '0000...9999'). 2. multiplicalo por si mismo (Es decir, elevalo a la segunda potencia) para obtener un valor de 8 digitos (añade los ceros - al inicio- faltantes si es necesario). @@ -26,12 +26,12 @@ Resulta obvio que tarde o temprano cada secuencia llegará a una especie de bucl 0001 -> 0000 -> 0000 - llega a un bucle despues de dos iteraciones 4100 -> 8100 -> 6100 -> 2100 -> 4100 - llega a un bucle despues de 4 iteraciones -Te seran dados valores iniciales para varias secuencias. Por cada una de ellas, reporta el numero de iteraciones necesarias +Te serán dados valores iniciales para varias secuencias. Por cada una de ellas, reporta el numero de iteraciones necesarias para llegar a la repeticion. -**Datos de entrada** en la primera linea, contendran la cantidad de valores iniciales. En la segunda linea contendran los valores iniciales +**Datos de entrada** la primera linea, contendrá la cantidad de valores iniciales. La segunda linea contendrá los valores iniciales separados por espacios. -**Respuesta** debe contener el numero de iteraciones para las secuencias con las cuales dado el valor inicial se convierte en bucle. +**Respuesta** debe contener el número de iteraciones para las secuencias con las cuales dado el valor inicial se convierte en bucle. Ejemplo: From 4c25e4f4119cd85165810b04629e4462512fd7ab Mon Sep 17 00:00:00 2001 From: David Ernesto Ramirez Arboleda <69372872+MultivacR@users.noreply.github.com> Date: Fri, 11 Sep 2020 22:10:30 -0500 Subject: [PATCH 21/28] Update task-27.md --- es/task-27.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es/task-27.md b/es/task-27.md index c2cbb11..b5dd25b 100644 --- a/es/task-27.md +++ b/es/task-27.md @@ -1,4 +1,4 @@ -_ podria ser util resolver [Bubble in Array](./bubble-in-array) antes de este problema._ +_ podria ser util resolver [Bubble in Array](./bubble-in-arrayarray-es) antes de este problema._ El ordenamiento de arreglos es un problema popular para los recien llegados -- y extremadamente importante en programación profesional (bases de datos, bibliotecas etc). From ec48f3fde09bee3766113bc19b08a0699533ad84 Mon Sep 17 00:00:00 2001 From: David Ernesto Ramirez Arboleda <69372872+MultivacR@users.noreply.github.com> Date: Fri, 11 Sep 2020 22:24:01 -0500 Subject: [PATCH 22/28] Create task-30..md --- es/task-30..md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 es/task-30..md diff --git a/es/task-30..md b/es/task-30..md new file mode 100644 index 0000000..535df01 --- /dev/null +++ b/es/task-30..md @@ -0,0 +1,15 @@ +una tarea bastante simple - solo para comenzar a aprender strings (arreglos de caracteres)... + +**Datos de Entrada** contendran un string sencillo en letras minusculas con algunos espacios. +**Respuesta** debe contener la cadena de la misma longitud con los mismos caracteres pero en orden inverso. + +Ejemplo: + + dato de entrada: + four score and seven years ago + + respuesta: + oga sraey neves dna erocs ruof + +A pesar de que algunos lenguajes tienen incorporada alguna funcion para esto, por favor trata de desorrollarlo por tu cuenta y +'in situ', es decir, mover caracteres del mismo string en lugar de copiarlos en uno nuevo (string o arreglo de caracteres). From 9afefbd29d17bbf37f2412053a6acbf93c7c5735 Mon Sep 17 00:00:00 2001 From: David Ernesto Ramirez Arboleda <69372872+MultivacR@users.noreply.github.com> Date: Fri, 11 Sep 2020 22:24:25 -0500 Subject: [PATCH 23/28] Rename task-30..md to task-30.md --- es/{task-30..md => task-30.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename es/{task-30..md => task-30.md} (100%) diff --git a/es/task-30..md b/es/task-30.md similarity index 100% rename from es/task-30..md rename to es/task-30.md From d485707b4ea66fde7c3379cb11b5951e4acaf3f0 Mon Sep 17 00:00:00 2001 From: David Ernesto Ramirez Arboleda <69372872+MultivacR@users.noreply.github.com> Date: Fri, 11 Sep 2020 22:37:50 -0500 Subject: [PATCH 24/28] Create task-29 --- es/task-29 | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 es/task-29 diff --git a/es/task-29 b/es/task-29 new file mode 100644 index 0000000..1c77123 --- /dev/null +++ b/es/task-29 @@ -0,0 +1,29 @@ +Despues de resolver la tarea [Bubble Sort](./bubble-sort-es) suponesmos que aprendiste sobre el ordenamiento de arreglos. Ahora tenemos para tí +un prolbema ligeramente ms complicado de programar, ya que es importante tener práctica en la clasificación y manipulación no +sólo valores primitivos sino también de objetos más complejos. + +Como anteriormente, te daremos un arreglo de números. Este debe ordenarse primero (en orden no decreciente) - +y luego, para cada valor, se debe imprimir su índice (posición) inicial (los índices comienzan desde 1). + +Es decir, imaginate que tenemos el arreglo `50 98 17 79` el cual se convierte en `17 50 79 98` después de ordenado. ahora: + + 17 era el 3-er puesto incialmente + 50 era el 1-er puesto incialmente + 79 era el 4-to puesto incialmente + 98 era el 2-do puesto incialmente + + así que el resultado es + 3 1 4 2 + +**Datos de Entrada** contendran el tamaño del arreglo en la primera fila y los valores del mismo en la segunda +(los enteros irán separados por espacios). +**Respuesta** deberá contener los indices (posiciónes) iniciales del los elementos del arreglo despues de haber sido reordenados. + +Ejemplo: + + datos de entrada: + 4 + 50 98 17 79 + + respuesta: + 3 1 4 2 From 7626fa1386414c256e15f0fcfaf643d990cb7835 Mon Sep 17 00:00:00 2001 From: David Ernesto Ramirez Arboleda <69372872+MultivacR@users.noreply.github.com> Date: Sun, 13 Sep 2020 11:20:28 -0500 Subject: [PATCH 25/28] Create task-52 --- es/task-52 | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 es/task-52 diff --git a/es/task-52 b/es/task-52 new file mode 100644 index 0000000..6c24afd --- /dev/null +++ b/es/task-52 @@ -0,0 +1,48 @@ +
+ types of angles in triangle +
+ +Un triangulo es llamado **rectangulo** cuando uno de sus tres angulos es **angulo recto**, igual a 90° Es decir, +dos lados de este triangulo son ortogonales. Recordemoslo. + +Los lados adyacentes al angulo recto de estos triangulos, son llamados **catetos** y el tercer lado es **hipotenusa**. +El teorema estalbece que la longitud de la hipotenusa está determinada por las longitudes de los catetos a partir de esta simple formula: + + c^2 = a^2 + b^2 + + o + + c = raiz_cuadrada(a^2 + b^2) + +Donde `c` es la longitud de la hipotenusa, mientras `a` y `b` son las longitudes de los catetos. + +Es famoso el ejemplo del triangulo rectangulo donde sus lados son `3`, `4` y `5` unidades. Así, en este caso, el teorema afirma: + + 5^2 = 3^2 + 4^2 + + or + + 25 = 9 + 16 + +En esta tarea tú usaras este teorema para escribir un programa que pueda determiar, cuando un triangulo es réctangulo, +o si es **acutangulo*, o **obtusángulo**: + +- para el triangulo acutangulo el lado mas largo es más corto de lo que la hipotenusa deberia ser; +- para el triangulo obtusangulo el lado mas largo, es más largo de lo que la hipotenusa debería ser. + +**Datos de Entrada** en la primera linea contendrá el numero de triangulos. +Las siguientes lineas describen cada una un triangulo. Cuya descripción consiste en tres valores - longitudes de los lados. El valor más grande será +siempre ser el ultimo de los tres, por motivos de simplicidad. +**Respuestas** Debe tener una de las letras `R` (right, réctangulo), `A` (acute, acutangulo) o `O` (obtuse, obtusángulo) pr cada uno de los triangulos. La letras +deben estar separadas por espacios. + +Ejemplo: + + datos de entrada: + 3 + 6 8 9 + 9 12 15 + 16 12 22 + + respuesta: + A R O From eca794413e2df5f6b591980a4ab0eee2002bd19f Mon Sep 17 00:00:00 2001 From: David Ernesto Ramirez Arboleda <69372872+MultivacR@users.noreply.github.com> Date: Sun, 13 Sep 2020 11:22:09 -0500 Subject: [PATCH 26/28] Create task-67 --- es/task-67 | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 es/task-67 diff --git a/es/task-67 b/es/task-67 new file mode 100644 index 0000000..c58db05 --- /dev/null +++ b/es/task-67 @@ -0,0 +1,45 @@ +Even beginner programmers are usually acquainted with the **Fibonacci Sequence** which is generated as following: + +- 0-th value is `0`; +- 1-st value is `1`; +- all next values are sum of two immediately preceeding. + +So we have: + + 0: 0 + 1: 1 + 2: 1 = 0 + 1 + 3: 2 = 1 + 1 + 4: 3 = 1 + 2 + 5: 5 = 2 + 3 + 6: 8 = 3 + 5 + +and so on, so if you continue calculations yourself, you get the the beginning of the sequence like this: + + 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, ... + +One easily notes that values grow fast! The `17-th` value already exceeds `thousand`, the `31-st` is larger +than `million`. + +**Problem statement** + +You will be given several Fibonacci numbers. Your task is to tell their indices in the sequence. + +**Input data** contain the amount of Fibonacci numbers to process. +Next lines contain one Fibonacci number each (from the first `1000` values). +**Answer** should contain their indices in the sequence, separated by spaces. + +Example: + + input data: + 5 + 610 + 34 + 0 + 1346269 + 10946 + + answer: + 15 9 0 31 21 + +*Take care: values could be of hundred or more digits long!* From 104aa19f3d7136d3df55595f8840a21cbbf65e4f Mon Sep 17 00:00:00 2001 From: David Ernesto Ramirez Arboleda <69372872+MultivacR@users.noreply.github.com> Date: Sun, 13 Sep 2020 11:33:55 -0500 Subject: [PATCH 27/28] Update task-67 --- es/task-67 | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/es/task-67 b/es/task-67 index c58db05..66e1281 100644 --- a/es/task-67 +++ b/es/task-67 @@ -1,10 +1,10 @@ -Even beginner programmers are usually acquainted with the **Fibonacci Sequence** which is generated as following: +Incluso un programador novato está usualmente familiarizado con **La secuencia de fibonacci** la cual es generada de la siguente manera: -- 0-th value is `0`; -- 1-st value is `1`; -- all next values are sum of two immediately preceeding. +- 0- valor es `0`; +- 1-er valor es `1`; +- todos los siguientes valores son la suma de los dos predecesores inmediatos. -So we have: +Así tenemos: 0: 0 1: 1 @@ -14,24 +14,24 @@ So we have: 5: 5 = 2 + 3 6: 8 = 3 + 5 -and so on, so if you continue calculations yourself, you get the the beginning of the sequence like this: +y sucesivamente, si tú continuas calculadolo por ti mismo, obtendras la siguiente secuencia inicial: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, ... -One easily notes that values grow fast! The `17-th` value already exceeds `thousand`, the `31-st` is larger -than `million`. +Puedes percatarte de que los valores crecen muy rapido! El `lugar-17` está cercano a exceder a mil, `lugar 31` +es más grande que un `millón`. -**Problem statement** +**Planteamiento del problema** -You will be given several Fibonacci numbers. Your task is to tell their indices in the sequence. +Se te daran varios numeros de la secuencia de Fibonacci. Tu tarea es dar los indices de dicha secuencia. -**Input data** contain the amount of Fibonacci numbers to process. -Next lines contain one Fibonacci number each (from the first `1000` values). -**Answer** should contain their indices in the sequence, separated by spaces. +**Datos de entrada** En la primera linea contiene el numero de datos que se te darán. +Las siguientes lineas contienen un numero de fibonacci cada una (desde los primeros `1000` valores). +**Respuesta** deberá contener los indices en la secuencia, separados por espacios. -Example: +Ejemplo: - input data: + datos de entrada: 5 610 34 @@ -39,7 +39,7 @@ Example: 1346269 10946 - answer: + respuesta: 15 9 0 31 21 -*Take care: values could be of hundred or more digits long!* +*Sé cuidadoso: Los valores podrián ser de cientos o más digitos de longitud!* From a34605aa789d493132498639f2816a2e9d427f73 Mon Sep 17 00:00:00 2001 From: David Ernesto Ramirez Arboleda <69372872+MultivacR@users.noreply.github.com> Date: Mon, 14 Sep 2020 22:01:53 -0500 Subject: [PATCH 28/28] Create task-35 --- es/task-35 | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 es/task-35 diff --git a/es/task-35 b/es/task-35 new file mode 100644 index 0000000..29168e0 --- /dev/null +++ b/es/task-35 @@ -0,0 +1,38 @@ + +Joel quiere comprar un bote que cuesta `$10000`. Sin embargo, el actualmente tiene solo `$1000`. Una de las formas de hacer crecer su dinero +es ponerle en una cuenta bancaria y esperar. Por ejemplo, si la cuenta incrementa un `8%` cada año: + + año dinero + 0 1000 + 1 1080 + 2 1166.4 + 3 1259.71 + 4 1360.48 + 5 1469.31 + 6 1586.85 + ..... + 29 9316.82 + 30 10062.16 + +Entonces Joel puede hacer crecer su dinero en `30` años. Ademas, si la cuenta crece, no anualmente sino mensual (con la +misma tasa de interes de `8%` al año) entonces la suma sera alcanzada en solo `29` años! +then Joel can grow his money in `30` years. Moreover, if account is increased not annually but monthly (with the +same interest rate of `8%` per year) then the sum will be collected in only `29` years! Bastante divertido :) + +En esta tarea tú necesitas ayudar a Joel a calcular cuantos años necesita esperar dependiendo de una suma inicial +de dinero `S`, requiere una suma `R` y una tasa de interes bancaria `P`. Al final de cada año la cuenta es aumentada y +**redondeada hacia abajo** hasta centavos ( como en el ejemplo de arriba). + +**Datos de entrada** En la primera linea contendrá el numero de casos a testiar. +Cada una de las siguientes lineas contiene tres numeros`S`, `R` y `P`. +**Respuesta** deberá contener el numero de años a esperar en cada caso, separados por espacios. + +Ejemplo: + + datos de entrada: + 2 + 1000 10000 8 + 50 100 25 + + respuesta: + 30 4