Ver Mensaje Individual
  #39 (permalink)  
Antiguo 28/11/2014, 04:38
Pantaláimon
 
Fecha de Ingreso: julio-2006
Ubicación: Barcelona
Mensajes: 244
Antigüedad: 18 años, 4 meses
Puntos: 32
Respuesta: Petando la pila. Problemas y retos usando recursividad.

Cita:
Iniciado por amchacon
En cuanto al segundo, valen que sean repetidos los colmillos?, por ejemplo el número 25 sería vampiro ya que: 5*5
Dije:
Cita:
Iniciado por Pantalaimon
Además, el conjunto de dígitos de los dos colmillos ha de ser el mismo conjunto que los digitos del número vampiro.
Código :
Ver original
  1. Conjunto de los digitos de 25: {2, 5}
  2. Conjunto de los digitos de los colmillos: {5}
  3. {5} != {2,5}
Por lo tanto, 25 no es vampiro.

De todas maneras creo que me hace falta precisar algo. Cuando dije conjunto, me refería a multiconjunto, pero no quería asustar a la gente. Es decir, hagamos volar la imaginación y supongamos que 145431 == 431 * 155:
Código :
Ver original
  1. Conjunto de los digitos de 145431: {1, 3, 4, 5}
  2. Conjunto de los digitos de los colmillos 431 y 155: {1, 3, 4, 5}
Pero no son vampiros, porque cuando hablaba de conjunto, me refería a conjunto con repeticiones de números, es decir:
Código :
Ver original
  1. Multiconjunto de los digitos de 145431: {1, 1, 3, 4, 4, 5}
  2. Multiconjunto de los digitos de los colmillos 431 y 155: {1, 1, 3, 4, 5, 5}
Como los multiconjuntos no son iguales no es un número vampiro.

Espero que ahora haya quedado un poco más claro. Si no, préguntadme dudas.

Edit: NOTA IMPORTANTE: la firma para noRep en C++ puede tener la variante
Código C++:
Ver original
  1. std::string noRep(const std::string&);
. Antes me he colado y he puesto la firma pasando el parámetro por valor.

Un saludo!
__________________
github.com/xgbuils | npm/xgbuils

Última edición por Pantaláimon; 28/11/2014 a las 05:42