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!

PyCharm feladat

470
Sziasztok!

Van egy listám, pl: [1, 2, 4, 8, 16, 32, 64] (#kettőnek a hatványai), ebből a listából hogyan tudom kiszedni azokat a számokat, melyeket összeadva 100-at kapok eredményül? Persze nem fejben kiszámolva, hanem egy megírt program alapján.

Ennél a példánál a 4 + 16 + 32 + 64 lenne a helyes output, de ezt hogyan lehetne megcsinálni hogy egy program válogassa ki a számokat magának az adott listából? Természetesen nem csak erre a példára megírt programot szeretnék,
mint pl.: print(lista[2] + lista[4] + lista[6]), hanem másra is működjön.
Jelenleg 1 felhasználó nézi ezt a kérdést.
pycharm, pyhton
0
Felsőoktatás / Informatika

Válaszok

3
Akinek nem teljesen érthető a feladat, az szóljon és megpróbálom elmagyarázni mire gondolok, mert nagyon fontos lenne számomra a megoldás.
0

Egyrészt, a példád rossz. :D
A `16` nem kell, mivel `4+32+64=100`.
Másrészt, mivel minden értéket csak egyszer használhatsz fel, ezért csak egy megoldás lehetséges, ami pedig az adott szám kettes számrendszerbeli alakja.
`100_10=1100100_2`, ebből látszik, hogy `1` db `64`-esre, `1` db `32`-esre és `1` db `4`-esre van szükség.
Módosítva: 5 éve
0

Nagyon szépen köszönöm az ötletet (2 hete nem aludtam-nak)!

Sokat gondolkoztam hogy lehetne megcsinálni, de annyi az egész hogy ahol az input kettes számrendszerbeli alakjában 1-es szerepel a vele megegyező ciklusban lévő helyen egy másik listához adja a kettő hatványainak megfelelő listabeli számát!

Lehet a fogalmazásom rossz, de akinek esetleg szüksége lenne egy ilyen programra, annak a képet elküldtem és kipróbálhatja.
0