PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fakultät sehr hoher Zahlen mit C++ Berechnen


dav133
2006-01-18, 15:59:49
ntag,

ich benutze Dev-Cpp 4.9XX und hab das Problem, dass selbst mit dem Datentyp longlong maximal eine Fakultätsberechnung von 16 drin ist. Gibts da ne Möglichkeit zu tricksen?

lg

Coda
2006-01-18, 17:20:32
Nö. Da brauchst du dann irgend ne Bignum-Library wie die GMP http://www.swox.com/gmp/

Senior Sanchez
2006-01-18, 17:31:42
Oder selber schreiben ;)

Ist ansich auch gar nicht so schwer, zumindest wenn man sich auf bestimmte Operationen beschränkt.

Trap
2006-01-18, 17:41:28
Addition ist recht einfach zu schreiben, Multiplikation ist schon ein bisschen tricky (da kann man recht einfach Fehler machen), für Fakultät braucht man aber nur den Spezialfall Multiplikation mit kleiner Zahl, das ist noch problemlos.

Pinoccio
2006-01-24, 13:37:50
Schau mal Hier (http://www.swox.com/gmp/) Ansosnten empfehle ich dir die Suchfunktion, gibt einige Threds dazu.

mfg Sebastian

dav133
2006-01-24, 15:26:30
Es gibt genau einen Thread dazu, und der befasst sich mit Java.

lg

Andreas Tidl
2006-01-24, 15:34:19
Habe mal ein Programm in .Net dazu geschrieben. Damit konnte ich Fakultäten von bis zu 10000! berechnen. Gelöst wurde das Problem der Stellenbeschränkung durch Schreiben der Überträge in einen Vektor und zusätzlicher Einträge.. eigentlich nix besonderes nur mal überlegen.

Pinoccio
2006-01-24, 17:59:07
Es gibt genau einen Thread dazu, und der befasst sich mit Java.Da steht aber zB drinne, daß du mit JAVA auch nur bis 21! kommst und der Weg nicht an speziellen Datenformaten vorbeiführt. Daran besteht auch in C/C++ der Trick. ;-)

mfg Sebastian

mofa84
2006-01-24, 19:14:39
mal ne ganz doofe Frage: du brauchst das aber nicht zufällig für Binomiale?

dav133
2006-01-24, 19:47:34
Binomia was? :>
Hmm, das kennt ja nicht mal Wikipedia.

Ähhh... nein ;D.

lg

mofa84
2006-01-24, 19:59:01
Binomia was? :>
Hmm, das kennt ja nicht mal Wikipedia.

Ähhh... nein ;D.

lgLernt man normalerweise in der Schule (http://www.rz.fh-ulm.de/~fgaller/binomisch.mp3)

dav133
2006-01-24, 20:14:07
Lernt man normalerweise in der Schule (http://www.rz.fh-ulm.de/~fgaller/binomisch.mp3)OMG ;D.

Natürlich weiß ich was bin. Formeln sind. Nur der Ausdruck war mir Fremd. Ähh ... und wozu braucht man da ! ?

lg

mofa84
2006-01-24, 20:20:50
ich hab mich nur gefragt ob du Binomiale berechnen willst weil dafür braucht man Fakultäten, außer man macht es rekursiv, dann umgeht man das.

Für was brauchst du denn die Fakultäten?

dav133
2006-01-24, 20:30:01
Für was brauchst du denn die Fakultäten?Muss es für alles einen rationalen Grund geben :)? Sagen wir... "Weils mich interessiert".

lg

mofa84
2006-01-24, 20:39:24
Muss es für alles einen rationalen Grund geben :)? Sagen wir... "Weils mich interessiert".

lgweil wenn ich woanders "Hi, ich kann kein C/C++ und hab auch keinen Bock es zu lernen." (ich schätze mal der Satz kommt dir bekannt vor) lese und sich dann hier 10 Leute den Kopf über ein Scheißproblem zerbrechen sollen dann interessiert es mich auch weshalb.

dav133
2006-01-24, 20:46:43
weil wenn ich woanders "Hi, ich kann kein C/C++ und hab auch keinen Bock es zu lernen." (ich schätze mal der Satz kommt dir bekannt vor) lese und sich dann hier 10 Leute den Kopf über ein Scheißproblem zerbrechen sollen dann interessiert es mich auch weshalb.Na, dann verschweig mal zur Abwechslung bitte nicht 98% der Wahrheit und schau aufs Datum: 2003-11-28 09:34:25. War ja gestern, oder? Und mein "Scheißproblem" ist vllt. auch darüber hinaus interessant, wenn es nicht individuell zu meiner Glückseeligkeit führen wird. Außerdem hab ich ja bereits ausreichend Informationen erhalten und wüsste keinen Grund, warum du mit Zwischenfragen - und ohne Informationen hier einzubringen - gleich in flameartige Ausdrucksweise verfällst.

lg