Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Mathematisches Problem (https://www.delphipraxis.net/13830-mathematisches-problem.html)

Meflin 27. Dez 2003 16:34


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:
 
  |a b c d
--+-----------
a |aa ab ac ad
b |ba bb bc bd
dann schreibe ich die neuen kombinationen in die linke spalte und mach das ganze von vorne:
Code:
   |a  b  c  d
---+---------------
aa |aaa aab aac aad
ab |aba abb ...
ac |
ad |
ba |
bb |
bc |
bd |
viel viele kombinationen einer bestimmten endstringlänge gibt es in beziehung
des strings und des substrings?

*MFG*

thomasdrewermann 27. Dez 2003 17:29

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:

Meflin 27. Dez 2003 17:31

Re: Mathematisches Problem
 
hmm... versteh ich im prinzip schon,
aber wie sowas als algorithmus???

[edit=thomasdrewermann]Rechtschreibfehler korrigiert Mfg, thomasdrewermann[/edit]

d3g 27. Dez 2003 19:41

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]

thomasdrewermann 27. Dez 2003 20:20

Re: Mathematisches Problem
 
Wenn man meine Formel jetzt noch ausmultipliziert bekommt man dann also x^2*xy.

Meflin 28. Dez 2003 20:53

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*

MrKnogge 28. Dez 2003 21:25

Re: Mathematisches Problem
 
^ = hoch

Mathe 6 :-D
Verräts du uns auch, was du da ausrechnen willst ?

SleepyMaster 28. Dez 2003 22:27

Re: Mathematisches Problem
 
NOP

Rainer_Unger 29. Dez 2003 06:02

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

Matze 29. Dez 2003 08:57

Re: Mathematisches Problem
 
Zitat:

Zitat von Rainer_Unger
Lieber 15 jähriger: einen guten Rat, mach deine Hausaufgaben selber!

Hi!

Ich möchte dich nicht wieder angreifen, aber solange die Leute antworten ist das doch OK, oder? ;)

MrSpock 29. Dez 2003 09:10

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.

Meflin 29. Dez 2003 11:26

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!

Meflin 29. Dez 2003 12:31

Re: Mathematisches Problem
 
meine lösung:
Delphi-Quellcode:
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;
könnte doch stimmen oder?


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