Backtracking in plan: Diferență între versiuni
De la Universitas MediaWiki
(Created page with "{| class="wikitable sortable" |+ !Denumire exercițiu |- |[[]] |- |[[]] |- |[[]] |- |[[]] |- |[[]] |- |[[]] |}") |
(Am adăugat un exercițiu cu permutări la categoria Backtracking in plan) |
||
Linia 1: | Linia 1: | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
|+ | |+ | ||
! | !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> |
Versiunea de la data 30 decembrie 2022 18:18
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
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))