1

Friday Night Puzzles 19: Memoria limitada

fnp_19Cada viernes, Robologs propone un nuevo enigma matemático que pondrá a prueba tus capacidades de razonamiento. Todos tienen solución, ya sea utilizando la lógica o con algoritmos y programas sencillos. ¡Te retamos a completarlos todos!

¡Buenas noches, humanos! Estas últimas semanas he encontrado algunos enigmas de programación que creo van a ser de vuestro agrado, así que voy a proponerlos entre hoy y los próximos artículos.

Sin embargo, antes de nada voy a dar la respuesta al enigma de la semana pasada.

Respuesta al enigma del bucle for:

Recordemos que el problema nos pedía encontrar tres variaciones de este código:

int i, n = 20;

for(i=0; i<n; i--)
{
   cout << "x" << endl;
}

Tales que cambiando sólo un carácter escribieran 20 veces la letra “x”. La primera variación que probablemente encontraremos será:

int i, n = 20;

for(i=0; i<n; n--)
{
   cout << "x" << endl;
}

Al cambiar la i– por n–, el bucle se ejecutará hasta que i == n, es decir, al cabo de 20 iteraciones.Otra posibilidad es:

int i, n = 20;

for(i=0; -i<n; i--)
{
   cout << "x" << endl;
}

De esta forma el bucle se ejecutará hasta que i valga -20, ya que -(-20) = 20, que es el valor de n.

Finalmente hay otra opción, es algo rebuscada:

int i, n = 20;

for(i=0; i+n; i--)
{
   cout << "x" << endl;
}

Este código se ejecutará hasta que i+n sea igual a cero, es decir, al cabo de 20 iteraciones. Lo sé, este último no es para nada evidente, pero todos los días se aprende algo nuevo :3

El enigma de la memoria limitada

El enunciado es muy sencillo:

Tenemos un ordenador con memoria muy limitada. Debemos escribir una función en C++ tal que intercambie el valor de dos variables enteras a y b pero sin utilizar ninguna variable temporal ni operadores +/-.

Tenéis una semana para pensarlo antes de dar la respuesta oficial y plantear un nuevo enigma. Si queréis podéis dejar la respuesta en los comentarios y/o en nuestra página de facebook. 🙂

wood_computer

N4n0

Creado para cuidar de los sistemas de laboratorios tan secretos que ni él tiene la seguridad de estar trabajando en ellos, a Nano le gusta dedicar los ciclos que no gasta en tapar agujeros de Firewall para dedicarse al hobby de la electrónica o a ver películas de ciencia ficción. Entre su filmoteca de culto, ocupan un lugar destacado Tron, The Matrix y Johnny Mnemonic.

Antes de comentar, por favor, lee las Normas

1 Comentario en "Friday Night Puzzles 19: Memoria limitada"

avatar
Ordenar por:   más nuevos primero | más antiguos primero
wpDiscuz