Permutacje. Sprawdzenie

SK
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 80
0

Cześć,

Mam problem z rozwiązaniem błędu jaki mi się pojawił przy tworzeniu permutacji.
Poniższy kod wypisuje:

abc
acb
bac
cba

a pomija jeszcze bca oraz cab. Już jakiś czas nad tym główkuję, jednak nie znalazłem przyczyny, dlatego proszę Was o pomoc we wskazaniu błędu.

Kopiuj

tekst = 'abc'

tekst = list(tekst)
len_tekst = len(tekst)

def permutacja(tekst, indeks):
    if indeks < len_tekst:
        for i in range(indeks, len_tekst):
            tekst[i], tekst[indeks]  =  tekst[indeks], tekst[i]
            permutacja(tekst, i+1)
            tekst[i], tekst[indeks]  =  tekst[indeks], tekst[i]
    else: print ''.join(tekst)

permutacja(tekst, 0)
NO
  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj
tekst = 'abc'
tekst = list(tekst)
len_tekst = len(tekst)

def permutacja(tekst, indeks):
    if indeks < len_tekst:
        for i in range(indeks, len_tekst):
            tekst[i], tekst[indeks]  =  tekst[indeks], tekst[i]
            permutacja(tekst, indeks+1) # indeks zamiast i
            tekst[i], tekst[indeks]  =  tekst[indeks], tekst[i]
    else: print ''.join(tekst)

permutacja(tekst, 0)
  • Rejestracja: dni
  • Ostatnio: dni
0

Dzięki

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.