Fakultät zusammenfassen?
Ich habe einen Bruch gegeben, 519! / 20!*480!
Da mein Rechner diese hohen Fakultätszahlen nicht annimmt muss ich es selbst zusammenfassen, da er mir dann Error anzeigt. Ich weiß jetzt nicht genau ob ich einen Rechenfehler gemacht habe und die Zahl die rauskommt zu hoch ist oder ob mein Taschenrechner bei so hohen Fakultätszahlen gar nicht mehr rechnet. Falls zweiteres der Fall ist wäre ich für eine Auskunft darüber wie man die Fakultäten unten multipliziert oder/und wie man den Bruch vereinfacht sehr dankbar. :)
5 Antworten
Hallo!
Sieht etwa so aus wie Eulers Formel zur Berechnung von Permutationen bei mehrfachen auftreten einzelner Elemente innerhalb einer Klasse.
n = (a+b!)/(a!*b!)
Aber dazu passt die obere Zahl nicht, müsste dann 500 sein.
also mal einzeln ausrechnen
519!= 3.38662e+1185
480! = 1.88031e+1080
20! = 2432902008176640000
Da ja das Produkt von
20! * 480!
viel zu groß sein dürfte, empfehle ich zuerst 519! / 480! zu rechnen, dann dieses Ergebnis durch 20!
Ergebnis =
740307921005655649976238767440142425160819336938657320739969821129773847597485628850176.000000
Ich habe c-Programmierung als Hobby. Da habe ich mir ein Rechenprogramm selber zusammengeschustert. Für einen Taschenrechner sind diese Zahlen viel zu groß, da meist mit Integer-Variablen gearbeitet wird.
Der gewöhnliche Datentyp long besitzt nur einen Wertebereich von
0 bis 18,446,744,073,709,551,615
Der Fließkommatyp long double hat 10 Byte Länge und einen Wertebereich von bis zu 1,2E4932 also 1,2 mal 10 hoch 4392 damit kann man bis zu 1550! rechnen.
Tut zwar weh, wenn man dafür eine Fliesskommavariable hernehmen muss aber bei Integertypen geht der Wertebereich nicht so hoch, deshalb diser Notnagel.
Die Datentypen sind aber Implementationsbedingt. Bei Microsoft sind double und long double gleich lang. Sonst double 8 Byte, long double 10 Byte.
Einsatzgebiete für diese Formel von Euler ist die Berechnung der möglichen Permutationen bei der Verschlüsselung von Dateien auf Bitebene durch Transposition der Bitwerte. Bei 512 Bit und einer genauen Gleichverteilung von gesetzten und nicht gesetzten Bits ergibt sich
Bei 50-prozentiger Verteilung ergibt das folgende Tabelle:
Bytezahl... Bitzahl .......mögliche Permutationen
Nibbel........4............6
1.............8............70
2.............16...........12870
4.............32...........6.0108E+8
8.............64...........1.83262E+18
16............128..........2.39511E+37
32............256..........5.76866E+75
64............512..........4.72553E+152
128...........1024.........4.48125e+306
256...........2048.........5.69709e+614
512...........4096.........1.30195e+1231
1024..........8192.........9.61516e+2436
2048..........16384 .......7.41605e+4929
4096..........32768........?????? (ca. 45 Sekunden um die Zahlenfolge herzustellen)
8192..........65536........?????? (Herstellungszeit des Codes: 75 Sekunden bis 3Minuten)
18384.........131072.......?????? (Herstellungszeit des Codes: 15-25 Minuten!!!!!)
Ich hatte mal ein Verschlüsselungsprogramm mit einer
möglichen Permutationszahl des Schlüssel von 131072!
Faktorielle erstellt. Ist nur für Linux-Systeme zu haben
auf www.programmierer-forum.de unter dem Namen Talarius.
Hoffe geholfen zu haben.
Hallo,
gehört 480! auch noch zum Nenner? Wenn, dann mußt Du unbedingt eine Klammer setzen.
Angenommen, es sei so, kannst Du die ersten 480 Glieder der Produktkette ersatzlos streichen, so daß im Zähler 481*482*...*518*519 übrigbleiben
Davon kannst Du einige noch durch die Zahlen von 1 bis 20 im Nenner kürzen.
So hat der Taschenrechner keine Probleme mehr.
Herzliche Grüße,
Willy
519 gegen 480
oben bleibt
519*518*.....481
vermutlich kannst du gegen diesen Rest das meiste aus 20*19*...*1 kürzen.
bei 519!/20! * 480! ist nix zu machen , da braucht es den Wolfram
mit 10 hoch 86 ist das Ergebnis grade noch im TR sichtbar.
https://www.wolframalpha.com/input/?i=+519%21+%2F+%2820%21*480%21%29
Fakultät ist doch nur eine verkürzte Schreibweise einer Multiplikation.
Und bei Brüchen bietet es sich an, vorm Ausrechnen zu kürzen.
Beides kombiniert gibt einen immer noch etwas unhandlichen Ausdruck, der aber schon merklich mehr "taschenrechnertauglich" ist.
Wenn es nicht reicht, kann man immer noch Zähler und Nenner in Primfaktoren zerlegen und mit diesen weiter kürzen.
Die sind definitiv viel zu groß für den Rechner. Steht das 480! im Nenner? Dann kannst du viel kürzen. Kürze doch mal (1*2*3*4*5)/(1*2*3*4)...