Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Theoretische Informatik » Klammerungsanzahl (ohne Rechenregeln) » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Klammerungsanzahl (ohne Rechenregeln)
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
NoobinInfo
Grünschnabel


Dabei seit: 05.11.2013
Beiträge: 1

Klammerungsanzahl (ohne Rechenregeln) Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Meine Frage:
Auf wie viele Arten kann die Formel 1 + 2 * 3 * 4 + 5 * 7 ausgerechnet werden, wenn es keine "Punkt- vor Strichrechnung" gibt?

Also die Anzahl der Klammern (5) dürfen nicht verändert werden.

Meine Ideen:
Einige Beispiele wären ja

((1 + 2)*(3*((4 + 5)*7)) = 567
(1 + ((((2*3)*4) + 5)*7) = 204
(1 + ((2*((3*4) + 5))*7))= 239

Hab auch schon was von der Catalan-Zahl gehört, konnte damit aber nichts anfangen..

NoobinInfo hat dieses Bild (verkleinerte Version) angehängt:
Bäume.jpg

05.11.2013 16:50 NoobinInfo ist offline E-Mail an NoobinInfo senden Beiträge von NoobinInfo suchen Nehmen Sie NoobinInfo in Ihre Freundesliste auf
Karlito Karlito ist männlich
Kaiser


Dabei seit: 11.04.2011
Beiträge: 1.461

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Also ich denke es mir iterativ:
  1. bei jedem Schritt wird ein Paar gewählt was mit einer Rechenoperation verbunden ist.
  2. danach wird dieses Paar zu einem Wert Reduziert.
  3. wiederhole bei 1. bis nur noch ein wert übrig ist.


D.h. bei der ersten Iteration sind folgende 5 Paare möglich:
  • 1+2
  • 2*3
  • 3*4
  • 4+5
  • 5*7


Beim nächsten Schritt ist ja ein Paar auf einen Wert reduziert und es sind nur noch 4 Paarbildungen möglich. Folglich komme ich auf 5! = 120 mögliche Berechnungsarten.

VG,

Karlito
05.11.2013 17:15 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Kannst du mir deine 6 Bäume für 3 Rechenzeichen mal zeigen, Karlito?
Ich finde da nur 5.
Und für die 5 Rechenzeichen aus der Aufgabe finde ich (war ja eh klar smile ) 42 Bäume.

Ich baue erst die kleinen Bäume(wie viele Bäume für 2 Zeichen, ...) auf und setze dann ein Rechenzeichen dazwischen, multipliziere die Werte der kleineren Bäume, sodass ich auf die gewünsche Anzahl an Zeichen insgesamt komme.

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
#include "stdio.h"

int main(void)
{
	int baeume[10] = {0};
	int anzahlRechenzeichen, einfuegePos;
	baeume[0] = 1; //bei nur einer Zahl ohne Rechenzeichen eine Möglichkeit: (a)
	baeume[1] = 1; //auch bei 2 Zahlen: (a+b)
	for(anzahlRechenzeichen = 2; anzahlRechenzeichen <= 5; anzahlRechenzeichen++)
		for(einfuegePos = 0; einfuegePos < anzahlRechenzeichen; einfuegePos++)
			baeume[anzahlRechenzeichen] += baeume[einfuegePos] * baeume[anzahlRechenzeichen - einfuegePos - 1];
	for(anzahlRechenzeichen = 1; anzahlRechenzeichen <= 5; anzahlRechenzeichen++)
		printf("Moeglichkeiten bei %d Rechenzeichen:%d\n", anzahlRechenzeichen, baeume[anzahlRechenzeichen]);
}


Ausgabe:
code:
1:
2:
3:
4:
5:
Moeglichkeiten bei 1 Rechenzeichen:1
Moeglichkeiten bei 2 Rechenzeichen:2
Moeglichkeiten bei 3 Rechenzeichen:5
Moeglichkeiten bei 4 Rechenzeichen:14
Moeglichkeiten bei 5 Rechenzeichen:42


Habe ich da einen Denkfehler?

edit: @NoobinInfo
bei deinen ersten beiden Beispielen hast du je nur vier Klammern zu

edit2: du zählst diesen Baum hier doppelt, Karlito:
code:
1:
2:
3:
4:
5:
      +
    /   \
    +    +
  /  \  / \ 
  a  b  c  d

einmal machst du erst (a+b) und dann (c+d) und einmal erst (c+d)

edit3:
aller guten Dinge sind 3
Folge in OEIS
Zitat:
Catalan numbers: C(n) = binomial(2n,n)/(n+1)
[...]
Number of ways to insert n pairs of parentheses in a word of n+1 letters. E.g. for n=3 there are 5 ways: ((ab)(cd)), (((ab)c)d), ((a(bc))d), (a((bc)d)), (a(b(cd))).


__________________
Syntax Highlighting fürs Board (Link)

Dieser Beitrag wurde 3 mal editiert, zum letzten Mal von eulerscheZahl: 05.11.2013 17:53.

05.11.2013 17:28 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Noobinlnfo
Grünschnabel


Dabei seit: 05.11.2013
Beiträge: 3

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zitat:
Original von eulerscheZahl

Und für die 5 Rechenzeichen aus der Aufgabe finde ich (war ja eh klar smile ) 42 Bäume.


Gott (Auf die Zahl bin ich vorhin beim Rumprobieren auch gestoßen, war wohl gar nicht so übel)

Zitat:
Original von eulerscheZahlIch baue erst die kleinen Bäume(wie viele Bäume für 2 Zeichen, ...) auf und setze dann ein Rechenzeichen dazwischen, multipliziere die Werte der kleineren Bäume, sodass ich auf die gewünsche Anzahl an Zeichen insgesamt komme.


Zunge raus kannst du mir das vielleicht ein wenig anschaulicher erklären, ich verstehe das noch nicht soo ganz (mit dem Rechenzeichen dazwischen)

Edit: Gut, hat sich denke ich mit deinem Edit erledigt Daumen hoch
(Oder lässt sich das mit den Bäumchen noch irgendwie skizzieren?)

Zitat:
Original von eulerscheZahledit: @NoobinInfo
bei deinen ersten beiden Beispielen hast du je nur vier Klammern zu


Oh tut mir Leid, hab ich wohl irgendwie verschludert Schläfer

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Noobinlnfo: 05.11.2013 17:58.

05.11.2013 17:53 Noobinlnfo ist offline Beiträge von Noobinlnfo suchen Nehmen Sie Noobinlnfo in Ihre Freundesliste auf
Karlito Karlito ist männlich
Kaiser


Dabei seit: 11.04.2011
Beiträge: 1.461

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo,

@euler: Danke! Bezieht man sich nur auf die Klammern, so hast du absolut recht, das habe ich auch übersehen. Bezieht man sich jedoch auf die Reihenfolge der Berechnung, so gibt es einen Unterschied, ob man zuerst (1,2) und dann (3,4) berechnet oder umgekehrt. Auch wenn das Ergebnis das selbe ist, so sind es doch 2 verschiedene Berechnungsarten. Man könnte noch argumentieren, dass (1,2) und (3,4) parallel berechnet werden. Das sind alles Spitzfindigkeiten...

Es ist die Frage, wie die Aufgabe gemeint ist. Von diesen Catalan-Zahlen habe ich noch nichts gehört.

Gruß,

Karlito
05.11.2013 18:02 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Da hast du natürlich Recht, ich bin nur nach dem Baum am Ende gegangen. Ich dachte auch erst, dass es auf n! rausläuft, bis ich auf dem Papier etwas herumprobiert habe.
Und die Catalan-Zahlen kannte ich bis eben auch nicht, aber auf OEIS findet man ja so ziemlich jede Zahlenfolge, die einem unterkommt.

__________________
Syntax Highlighting fürs Board (Link)
05.11.2013 18:07 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zitat:
Original von Noobinlnfo
Zunge raus kannst du mir das vielleicht ein wenig anschaulicher erklären, ich verstehe das noch nicht soo ganz (mit dem Rechenzeichen dazwischen)

Edit: Gut, hat sich denke ich mit deinem Edit erledigt Daumen hoch
(Oder lässt sich das mit den Bäumchen noch irgendwie skizzieren?)

Zu viele Edits, hätte es fast übersehen.

Beispiel: ich will insgesamt 3 Rechenzeichen einbauen.
Ich nehme mir ein Plus(als Wurzel) und habe noch zwei Rechenzeichen übrig, die ich auf die Seiten rechts und links der Wurzel verteilen kann. Wie viele Kombinationen es dafür gibt, habe ich vorher schon berechnet.
Dann sage ich z.B. links kommt kein Plus, also sind rechts 2 (muss in Summe ja 2 sein). Die Möglichkeiten für rechts und links werden multipliziert (sind ja unabhängig voneinander), dann werden die Bäume rechts und links der Wurzel anders aufgebaut (bezüglich Anzahl der Rechenzeichen)

Ich muss jetzt weg Wink

eulerscheZahl hat dieses Bild (verkleinerte Version) angehängt:
baeume.png



__________________
Syntax Highlighting fürs Board (Link)
05.11.2013 18:26 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Karlito Karlito ist männlich
Kaiser


Dabei seit: 11.04.2011
Beiträge: 1.461

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Jaja, ich dachte auch zuerst an n!. Zettel und Stift sind doch trotz Technik immer noch das Beste Augenzwinkern

Gute Zusammenarbeit Daumen hoch

Gruß,

Karlito
05.11.2013 18:27 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Theoretische Informatik » Klammerungsanzahl (ohne Rechenregeln)