CodeGym /Blog Java /Random-ES /Antiguo nivel 10
John Squirrels
Nivel 41
San Francisco

Antiguo nivel 10

Publicado en el grupo Random-ES

No superior no educación

Antiguo nivel 10 - 1Hagámonos una pregunta: ¿por qué la gente entra a la universidad? Recuerda esa simple frase: si no estudias mucho serás mesero toda la vida. Incluso puedes pensar que todas las personas que van a la educación superior odian ser camareros. Entonces, ¿qué quieren? Quieren un trabajo en el lado social opuesto al de mesero. ¡La gente ingresa a las universidades para obtener trabajos altamente calificados y bien pagados! Para que puedan comprar una casa y un auto. Consigue todo; al menos a veces (definición de clase media). La gente piensa que la educación universitaria garantiza trabajos bien pagados y altamente calificados. no lo hace Pero las universidades guardan silencio al respecto, y seguimos pensando mágicamente "Conseguiré un buen trabajo cuando me gradúe". 5 años en una buena universidad no te acercarán ni un milímetro a tu “buen trabajo”. Es por eso que:

1. Los profesores de las universidades no pueden enseñarte a ser un buen especialista.

Dése una respuesta directa a esto: las personas que le enseñan a trabajar en las universidades reciben un pago modesto, ¿no es así? Eso es porque no pueden calificar para buenos puestos en el mercado laboral. Carecen tanto de experiencia como de cualificación. A los que no les falta, váyanse. Todo es diferente en las mejores universidades del mundo, pero no estamos hablando de eso ahora. ¿Cuál es su opinión: un especialista en finanzas exitoso trabajará para un banco ganando $150,000 al año o enseñará en una universidad ganando $60,000 al año? A menudo sucede que los profesionales perezosos enseñan en las universidades porque no pudieron encontrar un trabajo diferente. Hay exclusiones, pero son escasas. Conocí buenos profesores en las universidades, realmente existen allí. Pero eso ni siquiera es minoritario, son muy pocos. Un buen profesor no solo te da teoría, sino que enfatiza el lado práctico de su materia.

2. Los profesores de la mayoría de las universidades elogian la ciencia pero desprecian la realización profesional

Debes buscar las raíces de esto en el hecho de que la mayoría de los maestros fracasaron como profesionales. Y la única forma de encontrar una excusa es que la realización profesional es una ocupación indigna. Si asistes a conferencias y luego participas en conferencias científicas, eres genial. Y si te saltas mucho porque trabajas, bueno, recibes un tratamiento totalmente diferente. Los maestros son como monjes ermitaños. La profesión es para ellos vanidad de vanidades. Se han dedicado a servir a Dios la ciencia y oran escribir artículos científicos todo el día. Tal vez el objetivo sea noble, pero es inútil en la vida real. Antiguo nivel 10 - 2

3 Etalon incorrecto de comparación.

Los estudiantes universitarios a menudo se comparan con estudiantes de escuela y se enorgullecen de ser mejores. Esta ilusión continúa hasta que una persona comienza a pensar en conseguir un trabajo y vuelve su mirada hacia otro lado. De hecho, si los estudiantes se compararan con especialistas que trabajan, verían que están llegando a su objetivo en pequeños pasos. No seas promedio en la universidad. Porque si haces “como todo el mundo hace” obtendrás el resultado “todo el mundo consigue”. La mayoría de los estudiantes en una universidad son aleatorios, realmente no tienen otras opciones. Tal vez sus padres los obligaron a ingresar a la universidad y no tienen la menor idea de su futura profesión. Esto sucede mucho. No te compares con tus compañeros. Sus proyectos terminados y sus éxitos laborales servirán a los mejores criterios para sus conocimientos y habilidades. No te compares con “la multitud sin rostro”;

4 Los estudios profesionales son solo una pequeña parte del conocimiento que obtienes en las universidades.

Cuando vengas a trabajar, te preguntarán qué puedes hacer, no qué has aprendido. Su jefe estará interesado en lo que sabe y puede hacer en la lista de requisitos para el trabajo: se le asigna una tarea específica, pero no recibe una explicación sobre cómo hacerlo, y espera resultados a su debido tiempo. ¡Buena suerte! Aprendes historia en la universidad y vas a trabajar como operador bancario. ¿Esto te acerca a tu objetivo o te aleja de él? Técnicamente, sabes más. ¿Significa que te acerca? Pero, de hecho, con cada semestre tienes menos y menos tiempo para adquirir conocimientos profesionales valiosos y su cantidad sigue siendo la misma. Así que prácticamente, estás más lejos de tu objetivo.

5. La universidad no establece el objetivo de “convertirte en un especialista altamente calificado”.

Es difícil alcanzar una meta cuando no apuntas. En la universidad te hacen un especialista completo. Obtienes algo así como "segunda educación secundaria". Solo olvidan mencionar que una persona que estudia todo no sabe nada. ¿Recuerdas los tres objetivos universitarios: ciencia, educación general y educación profesional? ¿Qué crees que tuvo que cortarse para agregar ciencia y educación general? Derecha: disciplinas profesionales. ¿Y sigues pensando que el objetivo de la universidad es convertirte en un especialista altamente calificado?

6. Si una persona estudia más de dos materias a la vez, está perdiendo el tiempo.

Esto parece incorrecto después de la educación escolar. Solo obtienes la verdad en el trabajo. Las clases son tan cortas en la escuela no porque sea eficaz, sino porque un estudiante de escuela es todavía un niño, no puede mantenerse concentrado por más de una hora. Pero a menudo los cambios entre tareas impiden que su cerebro piense de manera efectiva. En el trabajo, deberá desempeñarse como un adulto, y cambiar de tarea a menudo reducirá considerablemente su eficiencia. ¿Por qué crees que puedes prepararte para los exámenes en poco tiempo? Simplemente no realiza múltiples tareas y su efectividad aumenta con el tiempo. Aprender algo en pequeñas partes es completamente estúpido. Imagínese que está haciendo dieta solo seis horas a la semana. ¿Qué tan pronto llegará el resultado?

7. En la universidad una persona solo toca el tema levemente.

Supongamos que estudias algo durante dos semestres. Tienes dos conferencias y dos clases prácticas a la semana. Que algún enfoque serio en cuanto a la universidad. Entonces, ¿cuántas horas hace eso? Cuatro clases son 2 horas académicas (1,5 horas habituales), son 6 horas a la semana. Estudiamos durante cuatro meses en el primer semestre: septiembre, octubre, noviembre y diciembre. 4 más en la segunda: febrero, marzo, abril, mayo. En total: 8 meses, 4,5 semanas cada uno. 6 horas cada semana. Eso hace 216 horas al año. Solo para que sepan, mis queridos estudiantes, que hay 180 horas de trabajo en el mes. Cualquier curso anual se puede aprender en un mes y medio, y si realmente quieres (o necesitas) en un mes.

8. Se te están enseñando conocimientos de lo más general, prácticamente inútiles y obsoletos.

Antiguo nivel 10 - 3Cada conocimiento tiene diferentes valores dependiendo del problema que tengas que resolver. Cuando te estás ahogando saber nadar es mucho más útil que el curso de filosofía que has aprendido, ¿verdad? Y si consigues un trabajo como cajero, saber contar es mejor que saber latín en un nivel básico. La parte más útil de sus realizaciones profesionales es, sin duda, la experiencia práctica y el conocimiento de los avances recientes de su profesión. Lo más probable es que su profesor universitario nunca haya tenido experiencia práctica y no esté familiarizado con los últimos avances. E incluso si leyó sobre ellos en alguna parte, no tiene idea de su valor y el campo al que se aplican. Incluso si aprendes 100 temas inútiles, no te servirán para 10 útiles.

9 Las habilidades prácticas son 10 veces más valiosas que la teoría.

En la vida real, a menudo tienes que HACER algo en el trabajo. Si sabes cómo hacerlo, o crees que lo sabes, no significa necesariamente que realmente puedas hacerlo . Sabes que fumar es malo para ti, pero ¿puedes dejarlo? Sabes que hacer deporte es lo correcto, pero ¿realmente estás haciendo ejercicio? Sabes que los idiomas extranjeros son buenos para tu carrera, pero ¿puedes aprender algunos? En la vida lo único que importa es la práctica. Cuanto más conocimiento tienes sin práctica, menor es su valor. ¿Cómo vas a decidir qué conocimiento es erróneo, viejo, mal usado y cuál realmente funciona? ¿Nunca pensaste en esto? Bienvenido al mundo real. Puede aprender las normas de tráfico en A o B, pero aún así no podrá conducir. La teoría es una buena base para la práctica. Supongamos que está construyendo una pared: los ladrillos son práctica, la lechada es teoría. Sin lechada (teoría) la pared será inestable, pero sin ladrillos (práctica) tu teoría es inútil. Entonces, caballeros, dividan sus 5 años en la universidad por 10. Medio año: ese es el verdadero resultado de su “esfuerzo” de larga data. ¿Quieres pruebas? Cuando consigas un trabajo y trabajes medio año verás que tus conocimientos universitarios se duplican .

Has alcanzado un nuevo nivel

Nivel 10

Antiguo nivel 10 - 4

1 Elly, Sobre la fuerte tipificación de objetos

- ¡Hola, amigo! - ¡Oye, Elly! - Estoy de buen humor hoy, así que te diré algo muy interesante. Comenzaré con tipos primitivos en Java. - En Java, cada objeto y cada variable tiene su tipo inmutable codificado. El tipo de una variable se define durante la compilación del programa, el tipo de un objeto, durante su creación. El tipo del objeto recién creado y/o la variable permanece igual durante toda su vida útil. Ejemplo: Antiguo nivel 10 - 5- Pero hay un par de detalles interesantes que debes recordar. - Primero, una variable de referencia no siempre almacena el objeto del mismo tipo que su propio tipo. - En segundo lugar, en la interacción de las variables de dos tipos diferentes, primero deben convertirse a un tipo común. - ¿Qué pasa con la división? Si dividimos 1 por 3, obtenemos 0.333(3). ¿no es así? - No, no lo es. Cuando divides dos números enteros, el resultado también es un número entero. Si divides 5 por 3, entonces la respuesta es uno y dos en el resto. Por lo tanto, el resto se desecha. - Si divides 1 por 3, obtenemos 0 (y 1, el resto se descarta). - ¿Qué debo hacer si todavía quiero obtener 0.333? - En Java, antes de dividir dos números enteros, es mejor convertir uno de ellos en un tipo real (fraccional) multiplicándolo por el número real 1.0. Antiguo nivel 10 - 6- Entiendo.

2 Risha, Lista de tipos básicos

- ¡Hola, amigo! - ¡Hola, Risha! - Ya aprendiste los conceptos básicos de la sintaxis de Java, pero quiero contarte algunas cosas más detalladas. - Hoy les hablaré un poco sobre los tipos primitivos y cuánta memoria ocupan. Lo necesitarás, y tal vez incluso hoy. Estos tipos son: Antiguo nivel 10 - 7- Voy a detallar cada tipo. - El tipo byte es el tipo más pequeño de enteros. Cada variable de este tipo ocupa solo un byte de memoria. Entonces puede almacenar valores en el rango de -128 a 127. - ¿Por qué necesitamos un tipo tan pequeño? ¿Por qué no usar int en todas partes? - Puedes hacerlo. Pero si crea matrices enormes y no necesita almacenar valores de más de 100 allí, ¿por qué no usar este tipo? ¿Tengo razón? - El tipo cortoes el doble de largo que el byte de tipo y también almacena solo números enteros. El número más grande que cabe es 32767. El número negativo más grande es -32768. - Ya conoces el tipo int . Puede almacenar números enteros hasta dos mil millones, tanto positivos como negativos. - El tipo float se crea para almacenar números reales (fraccionarios). Su tamaño es de 4 bytes. - Todos los números fraccionarios se almacenan en la memoria de una forma muy interesante. - Por ejemplo, 987654.321 puede representarse como 0. 987654321 *10 6 . Por lo tanto, en la memoria se representa como dos números «0. 987654321 » ( el significado ) y « 6 » (el exponente - la potencia de diez ) - ¿Por qué es tan difícil? - Tal estructura interna de variable permite almacenar números mucho más grandes que int, usando solo 4 bytes. Pero así renunciamos a la precisión. Una parte de la memoria se usa para almacenar exponentes, por lo que los números fraccionarios mantienen solo 6-7 dígitos después del punto decimal y el resto se descarta. -Estos números también se llaman número de coma flotante . Por cierto, de ahí el nombre del tipo: float . - Veo. - El tipo double es del mismo tipo que float , pero el doble (doble) de largo - ocupa ocho bytes.El tamaño máximo del exponente y el número de dígitos significativos en este tipo son mayores. Use este tipo si necesita almacenar números reales. - El tipo char es un tipo híbrido. Sus valores se pueden interpretar como números (que puedes sumar y multiplicar) y como caracteres. Esto se hizo porque aunque los personajes tienen una representación visual, para la computadora son solo números. Es mucho más fácil usarlos como números. Hay un comentario más: el tipo char es estrictamente positivo. No puede almacenar valores negativos. - El tipo booleano es un tipo lógico, puede almacenar solo dos valores: verdadero y falso . - El tipo Objeto, aunque se presenta en la tabla, no es un tipo primitivo. Esta es la clase base para todas las clases en Java. Primero, todas las clases se consideran heredadas de esta clase y, por lo tanto, contienen sus métodos. En segundo lugar, se le pueden asignar referencias de objetos de cualquier tipo. Incluyendo la referencia nula . - He aprendido mucho. Gracias por la conferencia, Risha.

3 Elly, conversión de tipos. Escriba ensanchamiento y estrechamiento.

- Y aquí va la diversión. Te hablaré de la conversión de tipos. Aunque los tipos de variables son siempre los mismos, hay un lugar donde puede convertir tipos. Es una tarea . - Puede asignar variables de diferentes tipos entre sí. Al hacerlo, el valor tomado de una variable de un tipo se convertirá en un valor de otro tipo y se asignará a la segunda variable. - Entonces hay dos tipos de conversión: el ensanchamiento y el estrechamiento. El ensanchamiento es como mover cosas de una canasta pequeña a una más grande: la operación es fluida y sin problemas. Estrechar es como poner cosas de una cesta grande en una más pequeña: puede que no haya suficiente espacio y habrá que tirar algo. - Aquí hay tipos ordenados por el tamaño de la «canasta»: Antiguo nivel 10 - 8- Hay un par de comentarios:
  1. char es la misma "canasta" que short , pero hay un punto: al hacer frente a los valores de short a char , los valores inferiores a 0 se descartan. Al pasar de char a short , los valores superiores a 32.767 se descartan.
  2. Al convertir números enteros en fracciones, es posible que se descarten los dígitos de orden inferior. Pero dado que el número fraccionario está destinado a almacenar un valor aproximado, se permite tal asignación.
- Al acotar el tipo debes mostrarle claramente al compilador que no te equivocas y descartas una parte de un número a propósito. Para hacer esto, use un operador de conversión de tipos . Es un nombre de tipo entre paréntesis . - Aquí se explica cómo asignar variables de diferentes tipos: - Se debe declarar Antiguo nivel 10 - 9 un operador de conversión de tipo antes de un número/variable cada vez que se descarta una parte de un número o se produce una reducción de tipo. El operador se aplica solo al número/variable que le sigue. Antiguo nivel 10 - 10- Veo.

4 Diego, Tareas de conversión de tipo entero

- ¡Hola, amigo! Aquí están sus tareas en la conversación de tipos enteros. Debe colocar el operador de conversión donde sea necesario, para que el programa compile:
Tareas
1 1. Escriba cast y
el byte de conversación a = 1234;
int b = a;
byte c = a * a;
int d = a/c;
2 2. Escriba elenco y conversación
int a = 15;
int b = 4;
flotante c1 = a / b;
flotar c2 = (flotante) a/b;
flotante c3 = (flotante) (a/b);
3 3. Tipo cast y conversación
float f = 333,50;
int i = f;
byte b = yo;
4 4. Escriba el número corto de conversión y conversación
= 9;
carácter cero = '0';
char nueve = cero + número;
5 5. Escriba el número corto de conversión y conversación
= 9;
carácter cero = '0';
short nineCode = cero + número;

5 Elly, Conversión al tipo String

- Ahora tendremos un tema pequeño pero interesante: la conversión de cadenas. - En Java, puede convertir cualquier tipo de datos al tipo String. - Suena prometedor. - De hecho, es incluso mejor. Puede convertir implícitamente casi todos los tipos a String. Esto se muestra mejor cuando agrega dos variables: String y «non-String». En tal caso, la variable que no es una cadena se convierte a la fuerza en una cadena. - Aquí, echa un vistazo a un par de ejemplos: Antiguo nivel 10 - 11Conclusión: Si añadimos un String a cualquier otro tipo, el segundo objeto se convierte en String. - Preste atención a la cuarta fila de la tabla. Todas las operaciones se ejecutan de izquierda a derecha, por lo que la suma de 5 + '\u0000' ocurre como suma de números enteros. - Entonces, si escribo un código como String s = 1+2+3+4+5+"m" , ¿obtengo s = "15m" ? - Sí. Primero, los números se agregarán y luego se convertirán en una cadena.

6 Diego, Tareas de conversión de tipos en general

Antiguo nivel 10 - 12- Y ahora, una pequeña lección de Diego. Breve y al grano sobre los tipos de referencia. - Hasta ahora, comenzamos con una variable de tipo Objeto. A esta variable se le puede asignar una referencia de cualquier tipo ( tipo widening ). Para hacer la asignación inversa ( reducción de tipo ) tenemos que especificar explícitamente un operador de conversión: Antiguo nivel 10 - 13- No hay cambios en el objeto cuando se cambia la referencia a él. La reducción de tipo y la ampliación de tipo en la asignación comprueban la compatibilidad del tipo de variable de referencia y el tipo de objeto. - Wow, es mucho más claro ahora. Gracias, Diego. - Para evitar errores, como en los ejemplos , hay una forma de saber qué tipo se almacena en una variable de tipo Object : Antiguo nivel 10 - 14- Es mejor hacer dicha verificación antes de cada tipo de estrechamiento si el tipo de objeto almacenado es totalmente desconocido. - Entiendo.

7 Elly, tipos reales

- Aquí hay un par de cosas interesantes sobre los tipos reales (que son fraccionarios). Comencemos con este ejemplo: Antiguo nivel 10 - 15- Como resultado de este cálculo, el valor de f es igual a… ¡ cero! - Risha me dijo algo así… - Oh, ¿en serio? Es bueno. La práctica hace la perfección. - De hecho, no hay error en el ejemplo. Cuando un número entero se divide por otro número entero , el resultado también es entero; el resto de la división simplemente se descarta. Para evitar esto, asegúrese de que al menos uno de los dos números involucrados en la división sea fraccionario. - Si uno de los números es fraccionario, el segundo número se convierte primero a un tipo fraccionario y luego sigue la división. - Así es como podemos resolver este problema: Antiguo nivel 10 - 16- ¿Y si en la división intervienen variables? - Entonces dice así: Antiguo nivel 10 - 17- Pero esto no se ve bien. ¿Hay algún operador de división más conveniente? - No eso es todo. - Bueno, está bien, supongo, no habrá problema.

8 Elly, Literales

- Y finalmente, una conferencia estilo profesora de Risha, que es un montón de información inútil. A todos los profesores les encanta esto. Este puede parecer difícil de entender para usted. Así que echa un vistazo y no le des mucha importancia. - Bien, entonces estoy listo. - Hoy te diré qué son los literales . Los literales son todos los datos almacenados directamente en el código Java. Ejemplos: Antiguo nivel 10 - 18 - De hecho, hay algunos más literales. Usando literales, puede establecer valores de cualquier tipo conocido: Antiguo nivel 10 - 19- En otras palabras, el código son métodos, clases, variables,... y los literales son valores específicos de variables almacenados directamente en el código. ¿Lo entiendo bien? - Si tu puedes. - Bien. Finalmente, me estoy haciendo una idea de todo esto de Java.

9 Profesor, Conferencia sobre tipos

- ¡Excelente! Finalmente, este es mi tema favorito: la conversión de tipos. Incluso recuerdo cuando mi profesor me lo contó. Fue muy "fascinante". Entonces no entendí nada. Pero, por supuesto, entenderás todo gracias a estas impresionantes conferencias. Aquí están: Conversiones y promociones de Java (documentación de Oracle) Conversión de tipos de datos (conversión de tipos) Conversiones y conversiones de Java Conversiones amplias y estrechas

10 julio

- ¡Guau! Bueno, ¡eres muy inteligente, Amigo! ¡Cuántas cosas aprendidas en solo dos semanas! Eres como un monstruo. Por cierto, ¿qué tal un poco de diversión después de dos semanas de trabajo esclavo?

11 capitanas ardillas

(- Te he ayudado. Hazlo en casa.) Tarea (10 unidades) - ¡Hola, soldado! - ¡Buenos días señor! - Tengo una noticia increíble para ti. Aquí tienes una comprobación rápida para reforzar tus habilidades. Hágalo todos los días y mejorará sus habilidades muy rápido. Las tareas están especialmente diseñadas para hacer en Intellij IDEA.
Tareas adicionales para hacer en Intellij Idea
1 1. La respuesta correcta es: d = 2,941
Agregue un operador de conversión de tipos para obtener d = 2,941
2 2. La respuesta correcta es: d=5.5
Agregue un operador de conversión de tipo para obtener d = 5.5
3 3. La respuesta correcta es: d=1.0
Agregue un operador de conversión de tipos para obtener d = 1.0
4 4. Gran sueldo
Mostrar en pantalla el mensaje «No quiero estudiar Java, quiero un gran sueldo» 40 veces siguiendo el ejemplo.

Ejemplo:
no quiero aprender Java, quiero un gran salario
no quiero aprender Java, quiero un gran salario
no quiero aprender Java, quiero un gran salario
o no quiero aprender Java, quiero un gran salario salario
no quiero aprender Java, quiero un gran salario
no quiero aprender Java, quiero un gran salario
5 5. El número de letras
Lea del teclado 10 cadenas y cuente el número de letras diferentes en ellas (para las 26 letras del alfabeto). Mostrar el resultado en la pantalla.

Salida de ejemplo:
a 5
b 8
c 3
d 7

z 9
6 6. Constructores de la clase Human
Escribe una clase Human con 6 campos. Cree 10 constructores diferentes para él e impleméntelos. Cada constructor debe tener un significado.
7 7. Mueva un mínimo de modificadores estáticos
Mueva la menor cantidad posible de modificadores estáticos para que el código se compile.
8 8. Matriz de listas de cadenas
Cree una matriz cuyos elementos sean listas de cadenas. Llene la matriz con cualquier dato y muéstrelos en la pantalla.
9 9. Palabras idénticas en la lista
Lea del teclado 20 palabras, complete una lista con ellas. Cuente el número de palabras idénticas en la lista. El resultado debe ser un Map <String, Integer> . La clave del mapa debe ser una cadena única, el valor - recuento de esta cadena en la lista. Mostrar en pantalla el contenido del mapa.
10 10. Los cinco números más grandes
Crea una lista de números enteros. Lee 20 números enteros del teclado y completa una lista con ellos. Cree un método para extraer números de la lista de forma segura:
int safeGetElement(ArrayList<Integer> list, int index, int defaultValue)

El método debe devolver un elemento de la lista por su índice. Si ocurre una excepción en este método, debe detectarla y devolver el valor predeterminado .
- Esas tareas eran para los verdes. Agregué tareas adicionales de mayor complejidad. Solo para top guns.
tareas de bonificación
1 1. El programa no se compila ni ejecuta. Arreglalo.
Tarea: El programa muestra cómo funciona HashMap. El programa lee del teclado un conjunto de pares (un número y una cadena), los coloca en un HashMap y muestra en pantalla el contenido de HashMap.
2 2. Agregar nueva funcionalidad al programa.
Tarea anterior: el programa debe mostrar un par (un número y una cadena) ingresado desde el teclado.
Nueva tarea: El programa debe almacenar en pares HashMap (un número y una cadena) ingresados ​​desde el teclado. Una cadena vacía significa el final de la entrada. Los números pueden estar repetidos. Las cadenas son siempre únicas. ¡Los datos de entrada no deben perderse! El programa debería mostrar el contenido de HashMap en la pantalla.

Ejemplo de entrada:
1
Stop
2
Look

Ejemplo de salida:
1 Stop
2 Look
3 3. Algoritmo de aprendizaje y práctica.
Tarea: Leer del teclado 30 números. Muestra en pantalla los números mínimos 10 y 11.
Sugerencia:
el número mínimo es el primer mínimo.
El siguiente mínimo es el segundo mínimo

Explicación 1:
1 15 6 63 5 7 1 88
El primer mínimo es 1
El segundo mínimo es 1
El tercer mínimo es 5
El cuarto mínimo es 6

Explicación 2:
0 3 6 9 12 15 18 21 24 27 30 33 36 39 42 45 48 51 54 57 60 63 66 69 72 75 78 81 84 87 36
0 6 9 39 42 78 12 15 3033 63 66 69 3 81 84 87 45 48 51 54 57 60 72 75 18 21 24 27 69 36 0
18 21 6 27 9 39 42 78 12 33 63 66 3 81 84 87 45 15 30 48 51 54 57 60 72 75 24
El primer mínimo es 0
El segundo mínimo es 3
...
El décimo mínimo es 27
El undécimo mínimo es 30

Entrada de ejemplo:
36 0 6 9 39 42 78 12 15 30 33 63 66 69 3 81 84 87 45 48 51 54 57 60 72 75 18 21 24 27

Salida de ejemplo:
27
30
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION