Zuerst habe ich die resultierende Zahl in einer Variable vom Typ "int" gespeichert. Da die Fakultät einer Zahl sehr schnell sehr gross werden kann war das aber natürlich die falsche Wahl. Ich habe mich dann für "double" entschieden.
Mir ist nun aufgefallen, dass ich, als die Zahl noch als "int(32)" gespeichert wurde, keine fehlermeldung o.Ä. bekommen habe. Allerdings passierte folgendes: bei der Zahl 22 wurde mir eine ziemlich hohe negative Zahl ausgegeben; bei 23 ab 23 wurde die Zahl wieder positiv, war aber nicht korrekt. Hat wer ne Idee, wieso das so ist, bzw. wie die Zahl abgespeichert wird, wo doch die Variable zu klein ist?
Hier der Code:
(fakultät ist die besagte Variable)
static void fakultät_rechner(int eingabe)
{
for(int i = 1; i ≤ eingabe; i++)
{
fakultät *= i;
}
Console.Write("!{0} = {1}", eingabe, fakultät);
Console.ReadLine();
}