Geek tričko zdarma Geek tričko zdarma
Tričko zdarma! Stačí před dobitím bodů použít kód TRIKO15. Více informací zde
Avatar
Jakub Král
Člen
Avatar
Jakub Král:3. ledna 19:56

Ahoj, mám seznam, případně n-tici 2018-ti čísel a potřebuji ji rozdělit na podmnožiny tak, abych pokryl všechny možné podmnožiny (množiny o jednom čísle, dvou číslech až 2018 číslech) tak, aby se žádná podmnožina neopakovala, ale aby program vytvořil všechny možné, ne jenom ty z čísel jdoucích hned po sobě.

Zkusil jsem: Zkoušel jsem použít jednoduchou kombinatoriku, googlit všechno možné, ale bezvýsledně.

Chci docílit: Na tento problém jsem narazil v matematice a nepodařilo se mi ho nijak vyřešit, ani se řešení přiblížit.

 
Odpovědět 3. ledna 19:56
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:4. ledna 15:27

Pseudo-kod by mohl vypadat nejak takto.

a = 0
cyklus(i=0..n) // pocet prvku
    list[a] = []
    cyklus(j=0..i) // index pole
        cyklus(k=0..n) // value pole
            list[a][j] = k

Nechapu, co ma matematika spolecneho s programovanim.

  • Musis vedet, jak ma vypadat, to, co chces vytvorit.
  • A pak uz jen musis vytvorit postup prace, jakym se to da vytvorit.

Podle mne mas chaos v tom, jak by mel vypadat vysledek. Nejspis se jedna o skolni ukol. A nejspis ses na to cele vanoce ani nepodival. A nebylo by lepsi se priste na to podivat hned a pokud ti neni neco jasne, zeptat se rovnou ucitele?

Jo, jestli je to seznam predem dany, tak misto =k tam bude jen seznam[k].

A tez by bylo fajn, dat n=3 a napsat si na papir vsechno, co by ten program mel udelat. A podle toho ten progam pak snadno udelas,ne?

Editováno 4. ledna 15:30
 
Nahoru Odpovědět 4. ledna 15:27
Avatar
Odpovídá na Jakub Král
Bohuslav Kolman:4. ledna 18:28

Kombinatorika ti pouze řekne kolik podmnožin dané velikosti lze vytvořit. K výpočtu použij vztah pro kombinace

C= n!/(k!*(n-k)!)

To platí pro variantu, kdy nezáleží na pořadí prvků v podmnožině, tzn. {1,2,3} = {2,1,3}

Pouze si dej pozor na množství podmnožin: z 2018 prvků mohu vytvořit 2035153 dvoučlenných podmnožin, nebo 1,3 miliardy tříčlenných podmnožin, nebo 5,3x10605 1009-členných podmnožin.

 
Nahoru Odpovědět 4. ledna 18:28
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Jakub Král
Člen
Avatar
Odpovídá na Bohuslav Kolman
Jakub Král:4. ledna 22:52

Moc děkuju za odpověď

 
Nahoru Odpovědět 4. ledna 22:52
Avatar
Jakub Král
Člen
Avatar
Odpovídá na Peter Mlich
Jakub Král:4. ledna 22:54

Moc děkuji za odpověď, jen k té části, že matematika nemá s programováním nic společného... tato úloha je úkol na matematiku, ne abych vytvořil ten program, to mě napadlo až po Novém roce, protože matematickou cestu jsem nenašel.

 
Nahoru Odpovědět 4. ledna 22:54
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 5 zpráv z 5.