Tercera Evaluación de Temas Selectos de Sistemas
Jueves 26 de mayo de 2005 (13:00 a 15:55)

Instrucciones: Deberán resolver dos problemas, por lo que me deberán entregar dos códigos fuente, uno para cada problema. Cada problema se evaluará con 10 casos de prueba y cada uno de ellos vale 1 punto. Pongan un comentario en su código indicando los dos integrantes del equipo. La lectura se hará desde la entrada estándar y la escritura hacia la salida estándar. En sus pruebas, usen la redirección de entrada y salida.

Problema 5.9.1: Aritmética de la primaria (primar.c, primar.cpp ó primar.java)

A los niños se les enseña a sumar números de varios dígitos de derecha a izquierda, un dígito a la vez. Muchos de ellos piensan que la operación de "acarreo", donde un 1 se acarrea de una posición a la siguiente, es significantamente difícil. Tu trabajo es el de contar el número de operaciones de acarreo para cada uno de un conjunto de problemas de adición de modo que los maestros puedan estimar su dificultad.

Entrada: Cada línea de la entrada contendra dos enteros sin signo con menos de 10 dígitos. La última línea de la entrada contiene "0 0".

Salida: Para cada línea de entrada (excepto la última) calcula el número de operaciones de acarreo que resultan de sumar los dos números e imprímelas en el formato mostrado abajo.

Pista: ¿Necesitarás implementar completamente la suma de alta precisión para este problema, o se puede extraer el número de operaciones de acarreo con un método más sencillo?

Ejemplos: Entrada y salida. Para usar este ejemplo, escriban primar < primar.ent > primar.txt y comparen primar.txt con primar.sal

Problema 4.6.3: Unos (unouno.c, unouno.cpp ó unouno.java)

Dado cualquier entero 0 <= n <= 10,000 no divisible ni entre 2 ni entre 5, algún múltiplo positivo de n es un número que escrito en notación decimal es una secuencia de unos. ¿Cuántos dígitos tiene el menor múltiplo de n con esa propiedad?

Entrada: Una lista de enteros con un entero en cada línea.

Salida: Cada línea de la salida contiene al más pequeño entero x > 0 tal que p = 1 + 10 + ... + 10x (es decir, p es una secuencia de unos), donde a es el correspondiente entero de la entrada, p = ab y b es algún entero positivo.

Pista: ¿En realidad debemos calcular el número para saber cuántos dígitos tiene?

Ejemplos: Entrada y salida. Para usar este ejemplo, escriban unouno < unouno.ent > unouno.txt y comparen unouno.txt con unouno.sal