0 Daumen
445 Aufrufe

Frage:

Ich komme mit dieser Aufgabe leider gar nicht zurecht, könnte mir jemand helfen?

Ich habe allein schon ein Problem zu verstehen was genau gefordert wird.


Jemand hat Förster Max folgendes über seinen Wald mitgeteilt.
Im Wald gibt nur Bäume mit positiver Höhe, also einer Höhe größer \( 0 . \) Dabei muss
die Höhe keine ganze Zahl sein.

Es gibt genau einen Baum im Wald mit Höhe \( \mathrm{m}>0 \) und dieser ist echt größer als
jeder andere Baum im Wald.
Für jeden einzelnen Baum der Höhe \( \mathrm{h} \) im Wald gibt es fünf weitere Bäume der Höhe \( \mathrm{h} \) 17 und sieben weitere Bäume der Höhe h-2 im Wald, natürlich nur dann wenn diese jeweils eine positive Höhe haben sollten.

Schreiben Sie eine rekursive Python-Funktion baumhoehensumme \( (\mathrm{m}), \) die einen positiven Float m entgegennimmt, welcher die maximale Höhe eines Baums in Max' Wald (wie oben beschrieben) darstellt und die Summe aller Baumhöhen im Wald von Max (wie oben beschrieben) ausgibt.

Avatar von

1 Antwort

0 Daumen
 
Beste Antwort

Hallo, was ist mit \(h 17\) gemeint? Meinst du \(h-17\)? (Im Prinzip egal was du noch subtrahierst...).

Denke ansonsten zur Einfachheit mal zunächst nur an ganzzahlige Werte für \(m\). Dann kannst du dir zunächst folgende Rekursionsfolge zusammenbasteln:

\(s_m=\begin{cases}0,\qquad \qquad \qquad \qquad \qquad \text{ falls } m\leq 0,\\m+5\cdot s_{m-17}+7\cdot s_{m-2},\text{  sonst}\end{cases}\)      .

\(s_m=0\) ist der Rekursionsanker im ersten Fall, da nach Aufgabentext nur Bäume mit nichtnegativer Höhe vorkommen. Weiter gilt nach Aufgabentext:

-> Für jeden einzelnen Baum der Höhe \( \mathrm{h} \) im Wald gibt es fünf weitere Bäume der Höhe \( \mathrm{h} \) 17 (da interpretiere ich jetzt mal \(h-17\)) => Summand \(5\cdot s_{m-17}\)

-> Sieben weitere Bäume der Höhe h-2 im Wald, natürlich nur dann wenn diese jeweils eine positive Höhe haben sollten. => Summand \(7\cdot s_{m-2}\)

Das brauchst du jetzt nur noch in ein Python-Code übertragen. Dann wirst du sehen, dass das ganze auch für reellwertige (positive) \(m\) funktioniert.

Avatar von

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community