Problema 1: Definiremos a
los naturales como secuencias de paréntesis anidados: el 1 se
escribirá (), el 2 se escribirá (()), etc. Además,
las secuencias de paréntesis anidados que aparezcan concatenadas
representarán sumas, por ejemplo (())() significa 2+1. Escriba
un programa llamado parsumZZ
(donde ZZ es la clave de
dos
dígitos asignada por el profesor) que determine el valor de una
secuencia de paréntesis anidados. Su programa
debe leer un renglón que consiste únicamente de
paréntesis y debe generar como salida el valor de la secuencia.
Por ejemplo, si la entrada es
(())() entonces la salida debe ser 3. Puede suponer que la entrada
siempre será correcta.
Ejemplo de entrada |
Ejemplo de salida |
(())() |
3 |
Problema 2: Los
números de Sylvester se definen de la siguiente manera: S[0] = 2
y S[N] = S[N-1](S[N-1] - 1) + 1. Escriba un programa llamado sylvesZZ (donde ZZ es la clave de
dos
dígitos asignada por el profesor) que lea dos enteros N, M y que
calcule el N-ésimo número de Sylvester módulo M
(es decir S[N] mod M). Por ejemplo si N = 3 y M = 5 entonces su
programa debe calcular S[3] mod 5 = 43 mod 5 = 3. Puede suponer que 0
<= N, M <= 1000.
Ejemplo de entrada |
Ejemplo de salida |
3 5 |
3 |
Notas: Sus programas no deben leer ni escribir nada adicional a lo que se indica en el enunciado. El tiempo de ejecución de sus algoritmos será considerado como parte de la evaluación.