Frage zu Permutationen



  • Hallo zusammen,

    ich habe hier in meinem Buch eine Aufgabenstellung, in der ich die formel nicht ganz verstehe.
    --------
    Eine Permutation ist eine geordnete Untermenge einer Menge. Angenommen, Sie wollten eine
    Zahlenkombination für einen Tresor auswählen. Es stehen 60 Zahlen zur Verfügung und Sie
    benötigen drei verschiedene Zahlen für die Kombination. Dann gibt es P(60,3) Möglichkeiten
    (Permutationen) für die Zahlenkombination, wobei P definiert wird durch die Formel

    Pab( , ) = a!(ab)-!
    --------
    Hier mal, bis wohin ich mitkomme:
    Also wenn ich beispielsweise 10 Zahlen habe und mit 4 Zahlen eine Kombination bilde, berechnet die Funktion P, wie viele Möglichkeiten es gibt.
    Also p(10,4)

    Dann muss ich anscheinend die Fakultät von 10 berechnen.
    also 10! = 10 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1

    Das Ergebnis zeigt dann, wie viele Kombinationsmöglichkeiten es gibt, wenn ich alle 10 Zahlen verwenden würde.
    Aber was passiert dann in den Klammern (ab)-!
    Werden die Zahlen zusammengesetzt und dann minus der Fakultät 10! genommen?
    Da komme ich nicht mehr ganz mit.
    Würde mich über Hilfe sehr freuen.

    VG Maik



  • Das ist doch offensichtlich ein Druckfehler. Da sollte vermutlich P(a,b)=a!(ab)!P(a,b) = \frac{a!}{(a-b)!} stehen.

    edit: Ich weiß nicht, wo du das her hast. Die Aufgabe ist aus Stroustrups "Einführung in die Programmierung mit C++", und dort steht sie richtig.



  • Ich habe bei (4,2) nur 16 also (4^2) raus, habe ich mich verzählt oder vertan?

    oder aber man rechnet 4!/4*3 für 2 Zahlen aus 4 (um bei den dreieckigen Zahlen zu bleiben) ?

    (entschuldigung, habe auch Schwierigkeiten mit der genauen Fragestellung)



  • Morgen ihr beiden.

    danke erstmal.

    @ Bashar
    Ich dachte mir schon fast, dass es ein Druckfehler ist.
    Ja, die Aufgabe habe ich aus dem Buch von Strustrub.
    Das Problem ist nur, dass ich es für meinen Screenreader anders Formatieren musste (Ich seh nicht mehr wirklich viel 😉 ) und da sind wohl einige Sachen kaputt gegangen.
    Wärst du so nett und schreibst mir die Formel hier so hin, wie sie im Buch steht?



  • BIOSzillator schrieb:

    Das Problem ist nur, dass ich es für meinen Screenreader anders Formatieren musste (Ich seh nicht mehr wirklich viel 😉 ) und da sind wohl einige Sachen kaputt gegangen.
    Wärst du so nett und schreibst mir die Formel hier so hin, wie sie im Buch steht?

    Oh, OK. Ich hatte die Formel eigentlich nochmal angegeben, kannst du das nicht lesen? Ich nehme an, dein Screenreader führt den TeX-Code nicht aus, so dass du also keine Grafik zu "sehen" bekommst, sondern den Tex-Code im Original?

    Naja, für den Fall dass das nicht reicht, nochmal im Klartext: P(a,b) = a! / (a-b)!



  • Vielen Dank. Jetzt kann ich es gut lesen.
    In deinem vorigen Post sprang der Cursor meines Screenreaders immer in eine art Feld, aus dem er nicht mehr raus kam.
    Aber jetzt passt es. Jetzt kann ich die Formel gut SEHEN. ^^ Danke nochmal.



  • So, ein wenig besser scheint es gerade zu gehen, aber ich glaube, ich werde (bin schon) krank 😞

    Also, in diesem Fall könnte man ja versuchen, sich die Faktorisierungen zu ersparen. Formeln sind manchmal irreführend oder sie blockieren, wenn man sie einfach so übernimmt. Wenn man die gesuchte Zahl für (4,2) in die Formel einsetzt, kommt die vermutlich gewünschte 12 raus. Da ja 16 - 4 = 12 bzw. 24/2 = 12 braucht man, so scheint es, nur die Doppelten (von 4^2) abziehen.
    So könnte man bei (60,3) versuchen, einfach 60 * 60 * 60 abzubilden oder zu rechnen, die doppelten rausprogrammieren oder rausrechnen.. Das ginge (hoffentlich) einfacher (und genauer) über Integerberechnungen.

    Für den Fall (60,3) könnte man rechnen (60 + 59 + 59) * 60 Doppelte. weil bei

    aaa aab aac
    aba abb abc
    aca abc acc
    ...
    

    doppelte sich diagonal rausstreichen lassen (60) und senkrecht (59) und waagerecht (59). Das gilt für jeden Block bzw. Ziffer (also nur einmal berechnen, aber mal 60).



  • Schade, das es gar keine weiteren Postings mehr zur Aufgabenstellung gab.

    Der Witz der obigen Geschichte, und wohl auch kasus knacksus des Problems, ist irgendwo die Kettenbruch der versammelten Fakultaeten ueber und unter dem Bruchstrich. Wie stellt man das Ergebnis dieser Kuerzungen am besten mathematisch dar?

    Mir springen bei solchen Fragestellungen oft Assemblerregister vor meinem geistigen Auge hin und her. Die Aufgabe waere u.a., das "Zuviel" an Multiplikation herauszufinden und herauszufiltern.
    Ueberlegt man sich einen passenden Assemblercode, könnte der (fuer (a,b)) in etwa so aussehen:

    mov rax,a
    mov rbx,(a-1);a minus eins
    mov rcx, (b-2);Zum Herunterzaehlen(HarHarHar, *Blitz*, *Donner*). Zwei der Faktoren sind bereits in rax und rbx
    Fakultaetsschleife:
    mul rbx
    sub rbx,1
    loop Fakultaetsschleife
    

    😉



  • EDit: quatsch


Anmelden zum Antworten