Diskuze: vsetky mozne kombinacie :)

C# .NET .NET (C# a Visual Basic) vsetky mozne kombinacie :) American English version English version

Avatar
Tinecko Tino
Člen
Avatar
Tinecko Tino:

Zdravim , riesim taku trivialnu vec, mam pole napriklad [1,2,3,4,5] a mam vyrobit funkciu ktora dostane vstup cislo a ma vratit vsetky mozne kombinacie suctov prvkov pola do toho cisla teda napriklad ak bude vsup 3 tak to vrati seznam seznamu [1,1,1],[2,1] je nato dobry algoritmus?

 
Odpovědět 19.9.2015 17:27
Avatar
patrik.valkovic
Šéfredaktor
Avatar
Odpovídá na Tinecko Tino
patrik.valkovic:

Ten, který si napíšeš, bude určitě dobrý ;) pravděpodobně bych to řešil rekurzí.

Nahoru Odpovědět  +1 19.9.2015 17:41
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Avatar
Tinecko Tino
Člen
Avatar
Tinecko Tino:

Jasne keby som to vedel nepisem sem.

 
Nahoru Odpovědět 19.9.2015 18:39
Avatar
patrik.valkovic
Šéfredaktor
Avatar
Odpovídá na Tinecko Tino
patrik.valkovic:

A tady čekáš co? Že to za tebe někdo vyřeší?
Vytvoř si pole, kde budeš v rekurzi vždy přidávat jeden člen, dokud nebude součet větší než 3. Vždy v jednom volání metody vyzkoušíš všechny kombinace.
Zas tak těžké to není, abys na to s trochou snahy nepřišel.

Nahoru Odpovědět  +1 19.9.2015 18:58
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na Tinecko Tino
Jan Vargovský:

Určitě už na to něco existuje, ale určitě bych si setřídil vstupní data a pak backtrackoval a zkoušel jestli to náhodou není to co hledám.

EDIT: Připomíná mi to problém, že máš bankovky a máš vrátit všechny kombinace jakýma můžeš zaplatit.

Editováno 19.9.2015 19:07
 
Nahoru Odpovědět 19.9.2015 19:05
Avatar
Tinecko Tino
Člen
Avatar
Odpovídá na patrik.valkovic
Tinecko Tino:

jednoduche to pride Vam, mne az tak nie , preto som prosil o radu alebo nazorny priklad aby som sa to naucil

 
Nahoru Odpovědět  -1 19.9.2015 19:30
Avatar
vodslon
Člen
Avatar
Odpovídá na Tinecko Tino
vodslon:

Ahoj, už si to pořešil? To je hodně zajímavý problém, bohužel já to umím řešit trochu jinak, že si udělám seznam všechno možností a to filtruji až z toho seznamu.

 
Nahoru Odpovědět 25.9.2015 11:59
Avatar
Drahomír Hanák
Tým ITnetwork
Avatar
Odpovídá na vodslon
Drahomír Hanák:

Jedno možné vylepšení: pokud chceš najít čísla, jejichž součet je právě k, pak stačí hledat v číslech, která jsou <= k (pokud jsou na vstupu jen přirozená čísla) Dál můžeš třeba přidat 0. Pak ti stačí najít kombinace k třídy s opakováním a až u těch zjistit, jaký je jejich součet.

 
Nahoru Odpovědět 25.9.2015 12:24
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 8 zpráv z 8.