Keresés

Keresendő kifejezés:

Toplista

Toplista
  • betöltés...

Segítség!

Ahhoz, hogy mások kérdéseit és válaszait megtekinthesd, nem kell beregisztrálnod, azonban saját kérdés kiírásához ez szükséges!

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

110
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.
(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.
(é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: 1 hónapja
0