Új hozzászólás Aktív témák

  • sztanozs

    veterán

    válasz peterszky #6433 üzenetére

    Egy megoldást kell találni, vagy az összes lehetségest?
    Egy megoldásra le kell programozni, hogy hozza létre szép sorban az összes (olyan elem, ami a célnál kisebb) elem kombinációját 1-től n darabig és az első jó megoldásnál kilépni. Az összesre ugyanez a feladat, csak szépen ki kell írni (el kell tárolni) az összes jó kombinációt...
    Megvalósítást tekintve a rekurzív listafeldolgozás jut az eszembe:
    az aktuális összeghez hozzáadja a következő listaelemet és a lista maradák elemeivel meghívja saját magát... (Növekvő) sorrendbe rakva még célszerű odafigyelni az aktuális listaösszegre és visszalépni egyet a rekurzióban, ha az összeg meghaladja a célt (gyorsítható a futás, ha nem számol ki minden lehetséges kombinációt, csak ami kisebb, vagy egyenlő, mint a cél).

    Mondjuk szerintem ez a "bruteforce" megoldás... Kíváncsi vagyok tud-e valaki kevésbé BF-ot. Bár elsőre belegondolva, ha csökkenő sorrendben van a lista, akkor a (majdnem) triviális megoldásokat hozza:
    100 - 100
    200 - 200
    300 - 200 + 100

Új hozzászólás Aktív témák

Hirdetés