Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 03. 01. 2011 22:46

Ainamella
Zelenáč
Příspěvky: 5
Reputace:   
 

Všechna uzávorkování

Určete počet všech možných korektních uzávorkování výrazu pomocí N párů závorek ().


Napište program, který zjistí a vypíše počet všech možných korektních uzávorkování výrazu pomocí N párů závorek (). Například pro N=3 existuje 5 takových možných uzávorkování:
()()()
(())()
()(())
(()())
((()))
Na standardním vstupu program dostane jedno celé číslo N určující počet párů závorek, výsledek výpočtu (opět jedno celé číslo) program vypíše na standardní výstup.

Offline

 

#2 03. 01. 2011 23:01

Dioxid
Příspěvky: 416
Reputace:   13 
 

Re: Všechna uzávorkování

Zdravím, pravidla říkají

Vždy se snažte alespoň zběžně naznačit váš vlastní pokus a řešení předložených příkladů.

Jaký je tedy tvůj (Váš?) návrh na řešení této úlohy?


Jsem omylný, proto ne vše, co jsem napsal, je zaručeně správně.
468

Offline

 

#3 03. 01. 2011 23:21

Ainamella
Zelenáč
Příspěvky: 5
Reputace:   
 

Re: Všechna uzávorkování

Program uzavorkovani;

const MAX = 1000;

var n: integer; 

    vysledek : array[1..MAX] of char; 
           i : integer;

procedure zavorky(l,p : integer);
begin

 
    if( l > 0 ) then begin
                   vysledek[ 2*n -p -l +1 ] := '(';
                   zavorky(l-1,p);       
    end;
   
   
    if( (p > 0) and (p > l) ) then begin
                   vysledek[ 2*n -p -l +1 ] := ')';
                   zavorky(l,p-1);     
    end;
   

   
   
    if( p = 0 ) then begin
   
        for i:= 1 to 2*n do write(vysledek[i]);
        writeln;
    end;

Offline

 

#4 04. 01. 2011 17:28

pizet
Místo: Levice/Praha
Příspěvky: 459
Reputace:   11 
 

Re: Všechna uzávorkování

↑ Ainamella: Nechce sa mi skúmať čo za kód ste to tu dali ale k tým zátvorkám by vám možno mohlo pomôcť naštudovať si čo sú to Catalanove čísla. http://en.wikipedia.org/wiki/Catalan_number Potom by sa v tom mala dať nájsť pekná rekurencia.


Do you follow my way? Or you just see a black stain swimming in the Milky Way ...
KSP je určený pre študentov základných a stredných škôl, ktorí majú záujem naučiť sa niečo z oblasti algoritmov, logických úloh, programovania a informatiky.

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson