Keresés


Toplista

Toplista
  • betöltés...

Magántanár kereső

Ha szívesen korrepetálnál, hozd létre magántanár profilodat itt.
Ha diák vagy és korrepetálásra van szükséged, akkor regisztrálj be és írd meg itt, hogy milyen tantárgyban!

Összes lehetőség számokat tartalmazó listából

321
Adott egy "n" elemű számokat tartalmazó lista!
P.l.: ls = [0, 1, 2, 3]

A feladatom az lenne, hogy ezekből a számokból írjam fel az összes lehetőséget, így értve:
(ha bővülne a lista, akkor arra is megfelelően minden lehetőséget kiírjon)
0
0, 1
0, 2
0, 3
0, 1, 2
0, 1, 3

1
1, 2
1, 3
1, 2, 3

2
2, 3

3
Jelenleg 1 felhasználó nézi ezt a kérdést.
python
0
Felsőoktatás / Informatika

Válaszok

4
Hali!
Pythonban alapból van permutáció, kombináció csomag.
Lsd. melléklet. Vagy szépen végig írod a beágyazott for ciklusokat...
1

Optimalizálni mindig lehet, mondjuk megírod C-ben. :D
(vagy szimplán Linuxon futtatod)
Csodát ne várj rengeteg számítás, nálam a 30-at fél mp alatt számolja ki, ami nem rossz eredmény.
Mondjuk segít, ha elsőre a feladatot írod le. :)

0

Egy lassabb, átláthatatlanabb megoldás... de ciki, hogy elfeledkeztem Gauss bácsiról. :D
(és legalább nincs 10 sor)
0

Igérem leállok. :)
Kávé csodát tett... kicsit hosszabb, de már sokkal gyorsabb. (bizonyos határesetekben pl. 36)
Elegánsabb lett volna:
if r * ((1 + r) / 2) == n:
print([x for x in range(1, r + 1)])
if r * ((1 + r) / 2) >= n:
break
Módosítva: 2 éve
0