Uvazujme nasledovnú procedúru:
int f(int a, int b) {
int i,c,max;
printf ( "%d kg bryndze\n", b-a);
if (a==b) return 0;
max=-3;
for (i=a;i<=b;i++) {
c = f(a,i) + f(i,b);
if (c>max) max = c;
}
return max;
}
Kolkokrát sa vypíse slovo bryndze pri volaní f(3; 10)?
Kolko rôznych riadkov sa vypíse pri volaní f(8; 2008)?
Akú hodnotu vráti volanie f(9; 1984)?
nevedel by niekto pomoct aj s takym to tipom prikladov? viem ze tento sa zacykli pre tu rekurziu f(i,b)...ale nevedel by niekto dat nejaky tip ako riesit taketo ulohy?
taketo ulohy dost nemam rad, predpokladam ze to mas z dakych prijimaciek na skolu, najskor chcu aby si to robil na papier robi sa to tabulkou
napises si tabulku vsetkych premennych + pocet vypisani brindza
do prveho riadku si napises pociatocne hodnoty (teda s cim sa vola)
dalsi riadok porobis JEDEN krok a pomenis premenne ako treba a ak sa vypisalo slovo tak do stlpca pocet vypisani pricitas jedna a takto ides riadok po riadku dokym niesi na konci cyklu / papiera alebo totalne nezblbnes
toto spravis pre nizsie cisla a musis tam najst postupnost, obvykle z toho vyleze aritmeticka, niekedy geometricka a obcas taka odveci, toto musis odhalit a potom zistis ako to bude pre ake cisla
no a niektore tam maju tzv. druhu postuponost kedy od istych cisel sa zmeni
no ale ak mas moznost, tak to spusti a mas, co samozrejme nieje to co po tebe chcel autor ale mas vylmi richlo vysledok, a aby si sa netrapil s pocitanim tak si miesto printf(bryndza) pricituj do dakej premennej 1 a bude