Naloge - Rekurzija 3
Naloge
Potenčna množica
Napišite funkcijo, ki bo kot vhodni podatek prebrala seznam z n elementi neke množice in kot rezultat vrnila potenčno množico podane množice. Pri tej nalogi množice shranjujte v sezname.
Način 1: Potenčno množico sestavite rekurzivno.
Način 2: Potenčno množico sestavite z uporabo pomožne funkcije, ki bo vrnila vsa dvojiška števila od 0 do 2n, pri čemer je n število elementov podane množice. V potenčno množico dodajte elemente na mestih, ki so v dvojiškem številu predstavljena z 1.
Podmnožice z n elementi
Napišite rekurzivno funkcijo podmnozica(mn, n), kjer mn predstavlja množico in n število elementov, ki jih mora vsebovati podmnožica, da jo funkcija vrne.
Primer:
>>> podmnozica([1,2,3,4], 2)
[[1,2],[1,3],[1,4],[2,3],[2,4],[3,4]]
Anagrami
Napišite funkcijo anagrami(beseda), ki bo prejela niz beseda in vrnila seznam vseh nizov, ki so anagrami te besede, to je vsebujejo natančno enako število posameznih črk kot jih najdemo v prvotni besedi.
Primer:
>>> anagrami('AABB')
['AABB', 'ABAB', 'ABBA', 'BAAB', 'BABA', 'BBAA']