Matroids Matheplanet Forum Index
Moderiert von viertel GrafZahl
Schulmathematik » Stochastik und Kombinatorik » Möglichkeiten - Zahl als Summe von 1 & 2
Druckversion
Druckversion
Autor
Schule J Möglichkeiten - Zahl als Summe von 1 & 2
mast
Junior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 02.11.2019
Mitteilungen: 20
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Themenstart: 2019-11-05


Hallo,
gibt es eine Möglichkeit wie ich für jede natürliche Zahl berechnen kann, wie viele verschiedene Möglichkeiten es gibt sie als Summe von 1 und 2 darzustellen.

z.B. für n=4 wären es 5 Möglichkeiten

2+2
2+1+1
1+2+1
1+1+2
1+1+1+1


Lg



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
ligning
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 07.12.2014
Mitteilungen: 3134
Aus: Berlin
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.1, eingetragen 2019-11-05


Ja, mit einer einfachen Rekursion. Ist das eine Übungsaufgabe oder fragst du aus Interesse?


-----------------
⊗ ⊗ ⊗



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
mast
Junior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 02.11.2019
Mitteilungen: 20
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.2, vom Themenstarter, eingetragen 2019-11-05


Ein Teil einer Aufgabe für Informatik um genau zu sein, jedoch häng ich ziemlich bei dem fest  ☹️ . Wärst du vlt so lieb und würdest mich aufklären?



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
ligning
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 07.12.2014
Mitteilungen: 3134
Aus: Berlin
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.3, eingetragen 2019-11-05


Hallo,

die Grundidee ist folgende. Die möglichen Zerlegungen einer Zahl $n$ lassen sich in die mit $1+$ und in die mit $2+$ anfangenden unterteilen. Man betrachtet nun die jeweiligen Reste, man zerlegt also z.B. $1+2+1+2$ (eine Zerlegung von $6$) in $\color{red}1 + \color{blue} {2+1+2}$. Das ist $\color{red}1$ plus eine Zerlegung von $\color{blue}5$. Das funktioniert natürlich für alle Zerlegungen der $6$, die mit $1+$ anfangen. Wenn man also die Anzahl der Zerlegungen von $5$ kennt, kennt man automatisch die Anzahl der Zerlegungen von $6$, die mit $1+$ anfangen. Wie bekommt man die Zerlegungen von $6$, die mit $2+$ anfangen? Kannst du die Idee weiter ausführen?

Das ganze sollte am Ende eine wohlbekannte Rekursionsvorschrift ergeben.



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
mast
Junior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 02.11.2019
Mitteilungen: 20
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.4, vom Themenstarter, eingetragen 2019-11-05


Japp, danke!
Es funktioniert einwandfrei :)



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
Clvrhammer
Junior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 06.11.2019
Mitteilungen: 11
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.5, eingetragen 2019-11-06




Grüße,

Ich sitze gerade an demselben Beispiel und komme ebenfalls nicht weiter. Mit dem von ligning gegebenen Tipp konnte ich die Anzahl der Möglichkeiten - wenn ich mich nicht irre - auf eine etwas modifizierte Fibonacci-Folge festlegen (die ersten Glieder unterscheiden sich: 0,1,2,3,5,... => die eigentliche Folge ist 0,1,1,2,3,5,...).

Nun muss ich diesen Algorithmus programmieren, sodass die Ausgabe für z.B. n = 4

4 = 2 + 2
4 = 2 + 1 + 1
4 = 1 + 2 + 1
4 = 1 + 1 + 2
4 = 1 + 1 + 1 + 1

so aussieht. Hier stehe ich aber an. Habt ihr vielleicht einen Ansatz, wie ich dieses Programm mit einer rekursiven Funktion realisieren kann?

Grüße,

Clvrhammer



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
ochen
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 09.03.2015
Mitteilungen: 2863
Aus: der Nähe von Schwerin
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.6, eingetragen 2019-11-06


Hallo,

ja, genauso wie es ligning in Beitrag 1 beschrieben hat. Wenn f(n) eine Liste von Möglichkeiten ist, wie n als Summe zu realisieren ist, so musst du nur allen Listeneingrägen von f(n-1) ein "+1" anhängen und alllen Listeneinträgen von f(n-2) ein "+2" anhängen.
python
def f(n):
   if n==1:
      return ["1"]
   elif n==2:
      return ["1+1","2"]
   else:
      L=[]
      for c in f(n-1):
         L.append(...)
      for c in f(n-2):
         L.append(...)
      return L

Die ... müsstest du ersetzen. So wie es implementiert ist, ist es nicht effizient.



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
ligning
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 07.12.2014
Mitteilungen: 3134
Aus: Berlin
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.7, eingetragen 2019-11-06



eine etwas modifizierte Fibonacci-Folge festlegen (die ersten Glieder unterscheiden sich: 0,1,2,3,5,... => die eigentliche Folge ist 0,1,1,2,3,5,...)
Ich würde sagen, es ist exakt die Fibonacci-Folge. Es gibt eine Möglichkeit, 0 als Summe von 1en und 2en darzustellen, nämlich die leere Summe.



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
Clvrhammer
Junior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 06.11.2019
Mitteilungen: 11
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.8, eingetragen 2019-11-06



Danke euch, habe es nun mit eurer Hilfe hinbekommen.

@ligning: Ja, du hast natürlich recht, da war meine Denkweise zu naiv.

Grüße

Clvrhammer



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
mast hat die Antworten auf ihre/seine Frage gesehen.
mast hat selbst das Ok-Häkchen gesetzt.
Neues Thema [Neues Thema]  Druckversion [Druckversion]

 


Wechsel in ein anderes Forum:
 Suchen    
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2020 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]