def soucet_minci(N, mince, vybrane_mince=[]):
if N < 0: return
elif N == 0:
print(sorted(vybrane_mince))
else:
vyzkousene_mince = []
for i in range(len(mince)):
if mince[i] not in vyzkousene_mince:
soucet_minci(N-mince[i], mince[:i] + mince[i+1:], vybrane_mince + [mince[i]])
vyzkousene_mince.append(mince[i])
Pro předchozí úkol navrhněte úpravu pro vynechání duplicitních kombinací. (Bude se vám hodit set())
Prostudujte zdrojové kódy od MJ:
Generování posloupností 0 a 1 v takovém pořadí, aby se sousední dvě lišily jen na jedné pozici.
Generování permutací na množině {1,…,n}
Prostudujte si generování posloupností s daným počtem 1
Vytvořte jednoduchý program, který po spuštění uživatele potěší a rozesměje. (1 bonus bod, až doma 3:! nikoliv během cvičen, až doma 3:! nikoliv během cvičení)