Backtracking in plan

From Bitnami MediaWiki
Revision as of 18:18, 30 December 2022 by 82.78.93.134 (talk) (Am adăugat un exercițiu cu permutări la categoria Backtracking in plan)
Permutări
1.Cerința
2.Date de intrare
3.Date de ieșire
4.Restricții și precizări
5.Exemplu
6.Rezolvare

1.Cerința

Să se determine toate posibilitățile de aranjamente al unui set de litere sau cifre luate câte două.

2.Date de intrare

Programul citește de la tastatură mai multe litere sau cifre (cu precizarea să fie cel puțin două litere/cifre)

3.Date de ieșire

După introducerea datelor, programul va creea permutări cu două elemente.

4.Restricții și precizări

Cifrele ∈ N

5.Exemplu

Intrare

abc

Ieșire

['a', 'b', 'c']

['aa', 'ab', 'ac', 'ba', 'bb', 'bc', 'ca', 'cb', 'cc']


Intrare

123


Ieșire

['1', '2', '3']

['11', '12', '13', '21', '22', '23', '31', '32', '33']


6.Rezolvare<syntaxhighlight lang="python3" line="1" start="1"> def permutare(lista, s):

  if lista == 1:
     return s
  else:
     return [
        y + x
        for y in permutare(1, s)
        for x in permutare(lista - 1, s)
     ]

lista = list(input("Introduceti litere/cifre:")) print(lista) print(permutare(2, lista)) </syntaxhighlight>