![]() |
Mathematisches Problem
Hi,
es geht um die Berechnung der Anzahl der Kombinationsmöglichkeiten. genauer: ich bilde die kombinationen eines strings und eines substrings nach dem folgenden prinzip:
Code:
dann schreibe ich die neuen kombinationen in die linke spalte und mach das ganze von vorne:|a b c d --+----------- a |aa ab ac ad b |ba bb bc bd
Code:
viel viele kombinationen einer bestimmten endstringlänge gibt es in beziehung
|a b c d
---+--------------- aa |aaa aab aac aad ab |aba abb ... ac | ad | ba | bb | bc | bd | des strings und des substrings? *MFG* |
Re: Mathematisches Problem
Hi,
also wenn du den ersten Durchlauf mit x Spalten und y Reihen Startest, dann bekommst du x*y Kombinationen raus. Jetzt Startest du den Vorgang mit (x*y) Reihen, also die vorher generierten Kombinationen. Im 2. Druchlauf hast du also wieder x Spalten. Also ist die Gesamtanzahl x*(x*y) Kombinationen. MFG Thomas ps: ich hoffe ich war verständlich :stupid: |
Re: Mathematisches Problem
hmm... versteh ich im prinzip schon,
aber wie sowas als algorithmus??? [edit=thomasdrewermann]Rechtschreibfehler korrigiert Mfg, thomasdrewermann[/edit] |
Re: Mathematisches Problem
Wenn n die Anzahl der unterschiedlichen Zustände ist ('a', 'b', 'c', ...) und k die Anzahl der hintereinandergereihten Elemente, dann ist die Anzahl der Permutationen (das was du da bildest) n^k. Die Anzahl der Kombinationen ist n über k == n! / ((n - k)! * k!).
Beispiel: Drei Elemente, Vier Zustände (a, b, c, d): n = 4, k = 3 Permutationen: aaa aab aac aad aba abb abc abd aca acb acc acd ada adb adc add baa bab bac bad bba bbb bbc bbd bca bcb bcc bcd bda bdb bdc bdd caa cab cac cad cba cbb cbc cbd cca ccb ccc ccd cda cdb cdc cdd daa dab dac dad dba dbb dbc dbd dca dcb dcc dcd dda ddb ddc ddd Insgesamt 64 = 4^3 = n^k Kombinationen: abc abd acd bcd Insgesamt 4 = 4 über 3 = 4! / ((4 - 3)! * 3!) = 4*3*2*1 / (1 * 3*2*1) = 4 = n über k [edit]Hatte ein Klammernpaar vergessen ...[/edit] |
Re: Mathematisches Problem
Wenn man meine Formel jetzt noch ausmultipliziert bekommt man dann also x^2*xy.
|
Re: Mathematisches Problem
1. Frage: was heist "^"?
2. Frage: @thomas: x=anzahl der buchstaben in der x-reihe(?) y=anzahl der buchstaben in der y-spalte(?) Aber für welche stringlänge gilt das dann? *MFG* |
Re: Mathematisches Problem
^ = hoch
Mathe 6 :-D Verräts du uns auch, was du da ausrechnen willst ? |
Re: Mathematisches Problem
NOP
|
Re: Mathematisches Problem
Hallo,
ich will ja nicht meckern, aber langsam artet das Forum zur Hausaufgabenberatungsstunde aus! Ich hab lange Nachhilfe in Mathe gegeben: Lieber 15 jähriger: einen guten Rat, mach deine Hausaufgaben selber! Rainer |
Re: Mathematisches Problem
Zitat:
Ich möchte dich nicht wieder angreifen, aber solange die Leute antworten ist das doch OK, oder? ;) |
Re: Mathematisches Problem
Hallo,
als Mod muss ich da zustimmen. Es ist nichts dagegen zu sagen, wenn sich jemand bei den Hausaufgaben Hilfe holen möchte. Wer Hilfe benötigt, egal, ob für seinen Job, zur Weiterbildung oder für seine Hausaufgaben ist hier willkommen. Wir erwarten nur eigenen Einsatz, um dann spezielle Fragen zu beantworten. Es kann keiner erwarten, dass er einen kompletten Algorithmus präsentiert bekommt, aber es ist trotzdem möglich, dass ein anderer diesen weitgehend zur Verfügung stellt. Allergisch reagieren wir in solchen Fällen nur, wenn kein bisschen Eigenengagement zu erkennen ist und erwartet wird, die Lösung auf dem Präsentierteller zu bekommen. Das ist hier aber nicht der Fall. Darum darf hier ruhig weiter gepostet werden. |
Re: Mathematisches Problem
also um alle hier zu beruhigen: es geht um keine hausaufgabe!
brauch ich lediglich, um in einer progressbar den fortschritt darstellen zu können, den algo für die kombinationen hab ich selbst schon, aber um einen fortschritt darstellen zu können, muss ich auch wissen, wie viele es insgesamt sind! |
Re: Mathematisches Problem
meine lösung:
Delphi-Quellcode:
könnte doch stimmen oder?
function massofcombinations(length: integer; strlength: integer; substrlength: integer): integer;
var i, h1, h2, h3: integer; begin h1 := strlength; h2 := substrlength; for i := 1 to length - 1 do begin h3 := h1 * h2; h2 := h3; end; result := h2; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:35 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz