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

Hola Hackman,

939658 es un número vampiro porque:
1) es el producto de 953 y 986.
2) ni 953 ni 986 acaban en 0.
3) El multiconjunto de dígitos de 939658 ({3,5,6,8,9,9}) es el mismo que el multiconjunto de los dígitos 953 y 986 ({3,5,6,8,9,9})

En principio, si permutas los digitos de 939658, en algun momento te saldrá la permutación 953,986, la cual verás que al multiplicarla te da 939658. Alguna cosa se te habrá pasado en algún lugar.

Dejo este código por si queréis hacer tests:
https://github.com/xgbuils/vampire_g...ster/vamp4.cpp
Es un generador de números vampiros muy optimizado que creé hace algún tiempo.

Funciona así:
Unix:
Código BASH:
Ver original
  1. ./programa base minDigitos maxDigitos
Windows:
Código BASH:
Ver original
  1. programa.exe base minDigitos maxDigitos

A nosotros nos interesan los vampiros en base 10, y si queremos por ejemplo, los vampiros de 6 a 8 digitos hay que poner:
Código BASH:
Ver original
  1. ./programa 10 6 8
Cuidado, pues por razones de eficiencia cuando creé este generador de números vampiros, está hecho de tal modo que los genera desordenadamente y puede salir algun vampiro repetido (aquellos vampiros que tengan más de una combinación de colmillos).

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