Brauche Hilfe bei Rekursion

breakdown10

Grünschnabel
hallo zusammen,
es geht um folgendes , erstellung einer Froschpopulation mit hilfe der rekursion:

Beginn ist im 1. Jahr mit 100 Fröschen
danach bringt jeder frosch 2 nachfahren (Laichen, von denen 90% sterben)
eine Laiche brauch 2 Jahre um zum neuen Frosch hernagewachsen zu sein.
bedingung: nur ganzzahlige Populationen sind möglich, deswegen muss abgerundet werden
Meine Überlegung:

1. jahr 100 frösche
2. Jahr 100 Frösche
3. Jahr 100 Frösche + herangewachsende neue Frösche( also 100+ [200(jeder frosch bringt 2 nachfahren mit sich)*0,1(nur 10% davon wachsen als neue frösche heran)])= ergebnis für das 3. Jahr =120 Frösche
4. Jahr 120 Frösche
5. Jahr 120 Frösche + herangewachsende neue Frösche (also 120+[240*0.1)= 144
.
.
.
und so weiter...

sprich der algorithmus müsste so funktionieren dass immer bei einer ungeraden jahreszahl ausser 1 eine rechnung (s.o.) ausgeführt wird.meine klasse soll so aussehen dass ich die froschpopulation immer zu beginn eines jahres berechnen kann.

bitte um hilfe...

Vg breakdown
 
Ich verpack Dir das Ganze jetzt mal in eine Metasprache und das Umsetzen ist dann eigentlich ganz einfach:


popnummer : NUM
year : NUM


popnummer(year) = year div 2 + 1 (Eigentlich müsste man hier den "div"-Ausdruck durch Abstraktion ersetzen, das erspar ich Dir hier aber)

population(1) = 100
population(popnummer(year+1)) = population(popnummer(year))*1.2

Das wars schon. Viel Spaß beim realisieren.
 
danke für eure hilfen

also um nicht lange um den heißen brei zu reden, ich brauche hilfe da ich mich noch gar nicht so mit java auskenne, also ihr müsstet mir echt von anfang an auf die sprünge helfen... mir ist klar dass ich erst eine klasse erstellung muss, in der die attribute ( nur wie, und welche) deklariert werden müsse um anschließend die methode die die rekursion enthält ausführen zu können.....

vg
breakdown
 
weil ich ein dualstudium mache, und da wird der stoff etwas schneller behandelt als im normalem studium, und informatik ist nicht das einzige was ich könnenmuss... aber ich will eskönnen und deswegen bearbeite ich auch die übungsaufgaben (auch wenn man dies nicht muss) aber anders werd ich es nicht verstehen können....
 
Meine Überlegung:

1. jahr 100 frösche
2. Jahr 100 Frösche
3. Jahr 100 Frösche + herangewachsende neue Frösche( also 100+ [200(jeder frosch bringt 2 nachfahren mit sich)*0,1(nur 10% davon wachsen als neue frösche heran)])= ergebnis für das 3. Jahr =120 Frösche
4. Jahr 120 Frösche
5. Jahr 120 Frösche + herangewachsende neue Frösche (also 120+[240*0.1)= 144
.
.
.
und so weiter...

Kann es sein, dass diese Überlegung einen Fehler hat? Die Nachkommen brauchen zwar zwei Jahre, um heranzuwachsen, aber legen die vorhandenen Frösche in der Zwischenzeit nicht neuen Laich ab?
Demnach sähe es dann wohl eher so aus:
1. 100 Frösche
2. 100 Frösche + 20 Nachkommen
3. 100 Frösche + 20 1Jahr alte + 20 Neue
4. 120 + 20 1Jahr alte + 24( 120*2*0,1) Neue
5. 140 + 24 1Jahr alte + 28 Neue
usw.

Nur mal so als Anregung und weil ich mich zu erinnern glaube, sowas schonmal irgendwo gesehen zu haben (Dann macht das auch mehr Sinn, das mit einer Rekursion zu lösen)
 
Zurück