ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

CONCURSO DE PROGRAMACIÓN 2016

Examen 10 de Julio de 2018

601 Palabras (3 Páginas) 108 Visitas

Página 1 de 3

CONCURSO DE PROGRAMACIÓN 2016

[pic 1]

Resuelve los 4 problemas que se presentan a continuación y coloca tu código enseguida de cada enunciado.


Problema 1.

La cata trata de averiguar en qué nivel está el número 2016.

Los números se colocan de la siguiente manera:

[pic 2]

ejemplos:

el 37 está en el nivel 3
el 17 está en el nivel 2
el 5 está en el nivel 1
el 1 está en el nivel 0
el 9 está en el nivel -1
el 25 está en el nivel -2
el 49 está en el nivel -3

el 8 está en el nivel 0

Problema 2.

Intercambios

Dado un número entero positivo n, hacemos el siguiente procedimiento, que llamaremos intercambio binario.

  • Escribimos n en binario.
  • Separamos la expresión binaria en parejas, comenzando desde la derecha y rellenando con un cero a la izquierda si es necesario.
  • Intercambiamos de posición los dígitos en cada pareja.
  • Regresamos el número a base 10.

Por ejemplo, para n = 411,

  • lo escribimos en binario: 110011011
  • separamos en parejas (note que hay que rellenar con un cero a la izquierda):

01, 10, 01, 10, 11

  • intercambiamos en cada pareja: 10, 01, 10, 01, 11
  • regresamos a decimal 1001100111 -> 615

Implemente un programa que reciba en la entrada estándar un número n y regrese el resultado de realizar el procedimiento intercambio binario.

Restricciones:

n es mayor a 0 y menor a 231

%%%%%  Pega aquí tu código  %%%%%

%%%%%%%%%%%%%%%%%%%%%%

Problema 3.

Primos

Sea k un entero mayor o igual a 3. Puede demostrarse que todo entero n mayor o igual a 2*k puede escribirse como suma de k números primos, no necesariamente distintos. Por ejemplo, si k = 3 y n = 9, podemos escribir el 9 como suma de 3 primos de la siguiente manera:

9 = 2 + 2 + 5

9 = 3 + 3 + 3

Elabora un programa que reciba como entrada un entero  n y muestre en pantalla todas las maneras de escribir n como suma de 5 primos. Puedes suponer que 2*k <= n <= 10,000. Las representaciones 2 + 2 + 5 y la 2 + 5 + 2 se consideran iguales.

%%%%%  Pega aquí tu código  %%%%%

%%%%%%%%%%%%%%%%%%%%%%

Problema 4.

Sucesiones

La diferencia entre dos sucesiones de números de la misma longitud a1, a2, a3, ..., an y b1, b2, b3, ..., bn puede ser definida como la suma de los valores absolutos de las diferencias entre sus respectivos elementos:


diff(a, b) = |a
1 - b1| + |a2 - b2| + ... + |an - bn|.

Dadas las sucesiones a y b (no necesariamente de la misma longitud) encuentra una subsucesión b' de b tal que diff(a, b') sea mínima. Regresa esta diferencia.


Ejemplo

Para a = [1, 2, 6] y b = [0, 1, 3, 4, 5], la salida debe ser

Mindiff(a, b) = 2.

La mejor subsecuencia es b' = [1, 3, 5] que tiene diferencia de 2 con a.

Restricciones:

  • cada uno de los términos de a y b es menor a 10 000.
  • La cantidad de términos en cada una de las secuencias es menor a 10,000.
  • La cantidad de términos en a es estrictamente menor que la cantidad de términos en b.

Entrada

Deberás leer desde la entrada estándar:

  • Un primer número entero, indicando la cantidad de términos en a.
  • Un segundo número entero, indicando la cantidad de términos en b.
  • Los términos de a
  • Los términos de b

Por ejemplo, la entrada para el ejemplo anterior sería

3

5

1        2        6

...

Descargar como (para miembros actualizados) txt (3 Kb) pdf (181 Kb) docx (230 Kb)
Leer 2 páginas más »
Disponible sólo en Clubensayos.com