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!

PyCharm feladat

32
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.
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 napja
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