Ver Mensaje Individual
  #59 (permalink)  
Antiguo 02/12/2014, 03:13
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.

Ahora no tengo tiempo para responderlo todo pero quiero aclarar este punto:

Cita:
Iniciado por leosansan
En realidad no se trata de permutaciones sino de variaciones.

Me explico. Si tienes el número "123456" los dos números que multiplicados darían ese número, con los mismos dígitos, se corresponden con las variaciones tomadas de tres en tres de esos seis dígitos. Y eso da 6^3 = 216 en lugar de 6! = 720. Fíjate que si usas este último caso estarías repitiendo operaciones ya que entre las permutaciones te saldrían: 123 345 y la 345 123 y así sucesivamente, con lo que estarías tomando de más. No está mal pero es menos eficiente porque repites operaciones. En el primer código que usé tomé variaciones y aún así, si se repiten dígitos, se te suela algún que otro caso repetido.
Permutaciones de 123:
Código :
Ver original
  1. 123, 132, 213, 231, 312, 321
En total son 3!

Variaciones con repetición en grupos de 2 de 1234:
Código :
Ver original
  1. 11, 12, 13, 14, 21, 22, 23, 24, 31, 32, 33, 34, 41, 42, 43, 44.
En total son 4^2

http://www.vitutor.com/pro/1/a_r.html

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