Hallo,
ich habe hier zwar zu der gegebenen Aufgabe eine Musterlösung jedoch wollte ich dies so ändern wie ich es von der Aufgabe Wort wörtlich verstanden habe. In de Musterlösung wurde mit nur einer schleife ausgekommen wobei geschickt das Problem gelöst wurde damit die Baby Ratten nach zwei Monaten auch zu den geschlechtsreifen gehören. Jedoch verstehe ich die Lösung nicht und es irritiert mich ein wenig. Deshalb wollte ich bei der Lösung einen anderen weg bei der einschlagen.
Aufgabenstellung war:
Ein Rattenpärchen kann jeden Monat ca. 12 kleine Ratten werfen, die nach ca. zwei Monaten selbst geschlechtsreif sind. Unter der Annahme, dass genau gleich viele männliche wie weibliche Ratten in einem Wurf sind und Ratten niemals sterben: wieviele Ratten existieren mit obigen Annahmen nach n Monaten, wenn ein Wurf genau 12 kleine Ratten hat und die Geschlechteraufteilung gleichmäßig ist?
Funktionierende Lösung:
AUSGABE:
MEINE VERSION:
Ich vermute hier fehlt noch was in der if-Abfrage aber komme irgend wie nicht drauf
Könnt ihr mir vielleicht auf die Sprünge helfen?
AUSGABE:
ich habe hier zwar zu der gegebenen Aufgabe eine Musterlösung jedoch wollte ich dies so ändern wie ich es von der Aufgabe Wort wörtlich verstanden habe. In de Musterlösung wurde mit nur einer schleife ausgekommen wobei geschickt das Problem gelöst wurde damit die Baby Ratten nach zwei Monaten auch zu den geschlechtsreifen gehören. Jedoch verstehe ich die Lösung nicht und es irritiert mich ein wenig. Deshalb wollte ich bei der Lösung einen anderen weg bei der einschlagen.
Aufgabenstellung war:
Ein Rattenpärchen kann jeden Monat ca. 12 kleine Ratten werfen, die nach ca. zwei Monaten selbst geschlechtsreif sind. Unter der Annahme, dass genau gleich viele männliche wie weibliche Ratten in einem Wurf sind und Ratten niemals sterben: wieviele Ratten existieren mit obigen Annahmen nach n Monaten, wenn ein Wurf genau 12 kleine Ratten hat und die Geschlechteraufteilung gleichmäßig ist?
Funktionierende Lösung:
Java:
int paare = 1; // Anzahl der Paare, die Nachwuchs bekommen koennen
int kinder = 0; // Anzahl der Paare, die erst im naechsten Monat Nachwuchs bekommen
int babies = 0; // Anzahl der Paare, die erst in zwei onaten Nachwuchs bekommen
int gesamtpopulation; // Anzahl aller Ratten aller Altersstufen
int monate = 12;
for (int monat = 0; monat <= monate; monat++) {
// Gesamtzahl bestimmen
gesamtpopulation = (paare + kinder + babies) * 2;
//jetzt werden alle aelter
paare = paare + kinder;
kinder = babies;
// dann bekommen die Paare Nachwuchs
babies = paare * 6;
System.out.println("Anzahl! Ratten nach " + monat + " Monaten ist " + gesamtpopulation);
}
AUSGABE:
Code:
Anzahl! Ratten nach 0 Monaten ist 2
Anzahl! Ratten nach 1 Monaten ist 14
Anzahl! Ratten nach 2 Monaten ist 26
Anzahl! Ratten nach 3 Monaten ist 110
Anzahl! Ratten nach 4 Monaten ist 266
Anzahl! Ratten nach 5 Monaten ist 926.....usw
MEINE VERSION:
Ich vermute hier fehlt noch was in der if-Abfrage aber komme irgend wie nicht drauf
Könnt ihr mir vielleicht auf die Sprünge helfen?
Java:
int erwachsene = 2;
int kleineRatten = 0;
int reifeRatten = 0;
int gesamtpopulation = 0;
int monate = 12;
for (int monat = 0; monat <= monate; monat++) {
// Gesamtzahl bestimmen
gesamtpopulation = erwachsene + reifeRatten + kleineRatten;
/* nach 2 Monaten gehören die kleinen Ratten auch zu den
* geschlechtsreifen
*/
if (monat >= 2) {
reifeRatten = kleineRatten;
}
kleineRatten += 12;
System.out.println("Anzahl! Ratten nach " + monat + " Monaten ist " + gesamtpopulation);
}
AUSGABE:
Code:
Anzahl! Ratten nach 0 Monaten ist 2
Anzahl! Ratten nach 1 Monaten ist 14
Anzahl! Ratten nach 2 Monaten ist 26
Anzahl! Ratten nach 3 Monaten ist 62
Anzahl! Ratten nach 4 Monaten ist 86
Anzahl! Ratten nach 5 Monaten ist 110
Anzahl! Ratten nach 6 Monaten ist 134...usw
Zuletzt bearbeitet von einem Moderator: