Avatar
Impuls
Člen
Avatar
Impuls:

Ahoj, ve škole jsme dostali následující ukol:
● Máme záhonek, který má zadaný počet řádků.
● Na každý řádek můžeme vysadit cibulky cibule nebo stroužky česneku, vždy jen jeden druh.
● Nesmíme však sázet dva řádky česneku vedle sebe.
● Kolika způsoby můžeme řádky cibule a řádky česneku na záhonek vysázet?

Jako parametr metody se předává počet řádků. Věděl by někdo poradit? Vůbec si nevím rady jak to vypočítat.

 
Odpovědět 2. ledna 17:01
Avatar
B42P6
Člen
Avatar
B42P6:

Ahoj. Ja by som to robil asi pomocou rekurzie. Vytvoríš si metódu ktorá bude brať ako parameter predošlý riadok , počet zostávajúcich riadkov a vracať počet možností. Vytvoríš si pole kam si uložíš všetky druhy (v tvojom prípade cibuľu a cesnak). Vytvoríš si podmienky (v tvojom prípade ak je predošlý riadok cibuľa ďalší nemôže byť cibuľa) . Potom v každom volaní vylúčiš podľa podmienok tie druhy ktoré nemôžu nasledovať (ostanú ti iba tie ktoré môžu nasledovať). Prejdeš to pole s prvkami, a voláš tu istú metódu na každý prvok v poli (dekrementuješ počet zostávajúcich riadkov). Keď bude parameter počet zostávajúcich riadkov 1 vrátiš veľkosť poľa (toho kde sú iba prvky ktoré môžu nasledovať). Potom už to je jednoduché (iba pripočítavaš počty možnosti).

Nahoru Odpovědět 2. ledna 17:38
'long long long' is too long for GCC
Avatar
B42P6
Člen
Avatar
Odpovídá na B42P6
B42P6:

Ak som to napísal chaoticky, kľudne mi napíš Správu. ;)

Nahoru Odpovědět 2. ledna 18:15
'long long long' is too long for GCC
Avatar
coells
Redaktor
Avatar
Odpovídá na Impuls
coells:

Výsledkem jsou Fibonacciho čísla.

 
Nahoru Odpovědět 2. ledna 19:44
Avatar
Impuls
Člen
Avatar
Odpovídá na coells
Impuls:

A věděl by si i důvod?

 
Nahoru Odpovědět 2. ledna 19:55
Avatar
coells
Redaktor
Avatar
Odpovídá na Impuls
coells:

Věděl, k řešení vede Markovův řetězec [1 1; 1 0], z něj se dá přímo dokázat vzorec.
Ty si to můžeš odvodit tak, že si pár záhonků nakreslíš a zamyslíš se nad tvorbou zahrady o jeden řádek delší.

 
Nahoru Odpovědět  +2 2. ledna 20:19
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 6 zpráv z 6.