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 originalConjunto de los digitos de 25: {2, 5}
Conjunto de los digitos de los colmillos: {5}
{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 originalConjunto de los digitos de 145431: {1, 3, 4, 5}
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 originalMulticonjunto de los digitos de 145431: {1, 1, 3, 4, 4, 5}
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 originalstd::string noRep(const std::string&);
. Antes me he colado y he puesto la firma pasando el parámetro por valor.
Un saludo!