Reto de programación I (fácil)

Reto de programación I (fácil)
03/12/08


De vez en cuando no está mal algún que otro reto de programación, para poner en funcionamiento nuestra cabecita de informáticos.

Éste me lo planteó un buen amigo. No es que sea muy complicado, pero os entretendrá un rato. Si os lo propongo es porque resulta divertido programar cuando alguien te reta. Además aprendereis, estoy seguro, mientras intentais hallar una solución. Ahí va:

Construye el algoritmo necesario (en cualquier lenguaje de programación, o incluso pseudocódigo) para, dado un vector de elementos con una repetición, encontrar el elemento repetido. Hasta aquí no es complicado, pero lo bueno viene ahora: sólo puedes emplear un bucle.

Por supuesto que la solución no es única, más adelante postearé la que yo propongo (en lenguaje Java). Resolvedlo y enviadme vuestro algoritmo a sgm@yakiboo.net. Si es válido lo incluiré (junto con vuestro nombre) cuando llegue el momento de dar la solución.

NOTA: Este reto se resuelve en menos de 20 líneas. No os extendais más.

¡Suerte!.

Actualización: puedes ver aquí las soluciones y aquí el siguiente reto.

Escrito por sgm


Puedes dejar un comentario, o referenciar este post desde tu sitio web.

Hay 6 comentarios en este post.

 
Javier Angulo Diciembre 4, 2008 Reply

Elemento Encontrar_repetido (Elemento vector[ ]) {

int i = 0;j=0;
Elemento x = new Elemento();
for (i=0;i<=vector.length;i++) {
if (i == vector.length) {
j++;
i=0;
x=vector[j];
}
if (vector[i].equals(x))
return x;
}
}

Ahí tienes una chapuza Monda, como a ti te gustan, restaurando los invariantes del bucle jajajaj

 
sgm Diciembre 5, 2008 Reply

Chic@s! no pongais vuestros algoritmos en comentarios, enviadmelos a sgm@yakiboo.net.
Los que ya me habeis escrito el programilla en un comentario no os preocupeis, que aunque no lo veais en el post (tengo moderación de comentarios), también lo publicaré cuando llegue el momento de dar las soluciones.
Parece que os ha gustado esto de los retos, plantearé más. En cuanto al cuándo pondré la solución aún no está claro, supongo que para fin de año. Un saludo a todos.

 
dpz Diciembre 5, 2008 Reply

Luego deberias incrementar la dificultad, haciendo que sólo se pueda dar una pasada a la lista de vectores

 
lesthack Diciembre 25, 2008 Reply

Se vale cualquier lenguaje de programación?

 
sgm Diciembre 26, 2008 Reply

Vale cualquier lenguaje, sí, incluso pseudocódigo. Aunque la idea es utilizar un lenguaje imperativo, es decir, nada tipo Prolog u otro lenguaje de tipo declarativo (que simplificarían mucho la tarea).
Y bueno, lo suyo sería que me mandaseis un código completamente probado (ya que yo no conozco la sintaxis de todos los lenguajes, ni tengo el tiempo necesario para probar y corregir vuestros programas) o, en su defecto, un pseudocódigo claro con el algoritmo.

 
lesthack Diciembre 26, 2008 Reply

Listo, resuelto. Pasa a mi blog también propongo retos interesantes.

Responde