
Combinar o permutar numeros de dos en dos
Publicado por jose alberto escalona paolucci (4 intervenciones) el 03/02/2012 12:09:21
Hola esta función combina pero no logro que me lo haga con dos dígitos o sea en ves de
" 1,8,9" me lo haga con " 10,25,99" y los muestre con su debida separación ejemplo
10- 25- 99
99 -25-10
LOCAL N
N=0
=Permutar("","1,8,9",@N)
PROCEDURE Permutar(pIni,pStr,pN)
LOCAL lLen,lYa,i
lLen=LEN(pStr)
IF (lLen = 1)
pN=pN+1
? pN,pIni+pStr
ELSE
FOR i = 1 TO lLen
c=SUBSTR(pStr,i,1)
lYa=LEFT(pStr,i-1)
IF NOT (c $ lYa)
=Permutar(pIni+c,lYa+RIGHT(pStr,lLen-i),@pN)
ENDIF
ENDFOR
ENDIF
ENDPROC
" 1,8,9" me lo haga con " 10,25,99" y los muestre con su debida separación ejemplo
10- 25- 99
99 -25-10
LOCAL N
N=0
=Permutar("","1,8,9",@N)
PROCEDURE Permutar(pIni,pStr,pN)
LOCAL lLen,lYa,i
lLen=LEN(pStr)
IF (lLen = 1)
pN=pN+1
? pN,pIni+pStr
ELSE
FOR i = 1 TO lLen
c=SUBSTR(pStr,i,1)
lYa=LEFT(pStr,i-1)
IF NOT (c $ lYa)
=Permutar(pIni+c,lYa+RIGHT(pStr,lLen-i),@pN)
ENDIF
ENDFOR
ENDIF
ENDPROC
Valora esta pregunta


0