Dobrý den, již nějaký čas si lámu nad problémem s jedním v podstatě asi jednoduchým problémem. Bohužel už na miliontý pokus jsem nedosáhl správného výsledku, vždy buď kvůli problémům s rekurzí resp asi s představivostí (zkoušel jsem to i bez ní (bez rekurze, ne bez představivosti), ale v takovém kvantu kódu se ztrácím) nebo kvůli problémům s kombinatorikou. Neumím dostat všechny hodnoty nebo se mi naopak opakují... Chtěl bych Vás poprosit, zda by někdo nenapsal obecně, jak daný problém vyřešit. Nepotřebuji ani tak konkrétní kód, jak třeba i obecný popis. (Problém se v popisu pokusím zjednodušit) Mám pole s nějakými hodnotami např poleHodnot (počet prvků může být pokaždé jiný) a výsledkem bych chtěl mít pro zjednodušení např "pole polí" (např pole X polí Y), kde v každém poli Y budou prvky z poleHodnot, které v součtu dají hodnotu Z (která se také může měnit). Prvky z poleHodnot se mohou v poli Y libovolně opakovat (např pokud Z = 6, pak může pole obsahovat 2,2,2). Pole X by mělo obsahovat tolik polí Y, kolik je možných kombinací - s tím, že v poli Y záleží na pořadí tzn může/musí být pole s hodnotami 1 a 2 i pole s hodnotami 2 a 1. Moje představa je tedy asi funkce, kde vstup bude hodnota Z, poleHodnot a pole X. Funkce mi vrátí pole X naplněné polemi Y vit výše. Jak jsem již psal, budu rád pokud mi to napíšete nějak obecně, ale nevadí ani ve VB.NETu nebo C# případně i něčem jiném. Jde mi o to problém (resp řešení) pochopit a zvládnout to napsat sám. Předem díky za jakoukoli odpověď S pozdravem Jakub
|