Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 23:28

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Fakultät in c

Discussion on Fakultät in c within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Dec 2010
Posts: 103
Received Thanks: 3
Fakultät in c

Unzwar versuche ich die Fakultät von Zahlen größer 12 auszurechnen jedoch kommt da nur quark raus..

zur zeit sieht meine formel wie folgt aus..


unsigned long long fakul(int n){

if(n <= 1){
return 1;
}
else{
return n*fakul(n-1);
}
}

bis zu einem bestimmten wert kriege ich vernünftige werte raus aber ab höheren zahlbereichen klappt es leider nicht so gut..

würde mich über schnelle hilfen freuen..
Blackbeach is offline  
Old 01/31/2013, 17:44   #2
 
elite*gold: 0
Join Date: May 2010
Posts: 793
Received Thanks: 268
der code ist absolut richtig. wahrscheinlich castest du irgendwo zu int, das geht natürlich nicht weil 13! so gross ist das es in int nicht mehr reinpasst.
nkkk is offline  
Old 01/31/2013, 17:51   #3
 
Raz9r's Avatar
 
elite*gold: 297
Join Date: Dec 2010
Posts: 1,129
Received Thanks: 1,687
Der Datentyp unsigned long long ist i.d.R. 64 Bit lang und da unsigned kann er Werte bis maximal 2^64 - 1 = 18446744073709551615 darstellen

Es gilt:
factorial(20) < 2^64 - 1 < factorial(21)

Kurz gesagt heißt das, dass du mit dem Datentyp unsigned long long nur Fakultäten bis einschließlich 20! darstellen kannst, alles weitere würde einen Überlauf ergeben und damit nicht mehr den richtigen Wert.
Raz9r is offline  
Old 01/31/2013, 17:56   #4

 
snow's Avatar
 
elite*gold: 724
Join Date: Mar 2011
Posts: 10,480
Received Thanks: 3,319
Unter OS X ging das sogar bis 60! oder so.

@Blackbeach: Code sollte soweit korrekt sein, liegt dann wohl daran, dass die Zahlen zu groß werden..
Ab welcher Fakultät fängt das Programm denn an, falsche Ergebnisse auszuspucken?
snow is offline  
Old 01/31/2013, 18:01   #5
 
elite*gold: 0
Join Date: Dec 2010
Posts: 103
Received Thanks: 3
hab mein problem gefunden^^ trotzdem danke für die schnelle hilfe.


bitte einmal closen
Blackbeach is offline  
Reply




All times are GMT +2. The time now is 23:28.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.