Hallo erstmal,
ich traue mich eigentlich garnicht so richtig, nach so manchen Kommentaren die hier gepostet wurden, mein Problem zu beschreiben.
Ich habe jetzt schon mehrere Stunden und Tage das Forum und Google durchstöbert, aber ich komme mit meiner Problemstellung nicht voran.
Zuerst einmal, ich bin blutiger Anfänger im Bereich JAVA oder besser gesagt im Programmieren allgemein.
Unsere erste Gruppenaufgabe lautet die Fakultät von 1000, ohne auf BigInteger zurückzugreifen, auszurechnen.
Das ganze soll über ein erstelltes Array funktionieren, allerdings hört genau da mein Verständnis auf und das Problem beginnt.
Das was ich bisher geschrieben habe, rechnet die Fakultät bis 20 aus, aber dann werden die Zahlen einfach zu groß und es kommt falsche Werte als Ergebnis heraus.
Was muss ich ändern, damit Fakultät 1000 ausrechenbar ist?
Ich hoffe mal, es kann mir jemand helfen?!
ich traue mich eigentlich garnicht so richtig, nach so manchen Kommentaren die hier gepostet wurden, mein Problem zu beschreiben.
Ich habe jetzt schon mehrere Stunden und Tage das Forum und Google durchstöbert, aber ich komme mit meiner Problemstellung nicht voran.
Zuerst einmal, ich bin blutiger Anfänger im Bereich JAVA oder besser gesagt im Programmieren allgemein.
Unsere erste Gruppenaufgabe lautet die Fakultät von 1000, ohne auf BigInteger zurückzugreifen, auszurechnen.
Das ganze soll über ein erstelltes Array funktionieren, allerdings hört genau da mein Verständnis auf und das Problem beginnt.
Das was ich bisher geschrieben habe, rechnet die Fakultät bis 20 aus, aber dann werden die Zahlen einfach zu groß und es kommt falsche Werte als Ergebnis heraus.
Java:
public class Fakultät1000
{
public static void main(String[] args) {
long i = 1; // i bezeichnet den Faktor des vorangegangen Wertes ("1"ist Startwert)
long n = 1; // n bezeichnet den Faktor mit dem multipliziert wird ( -""- )
long z = i*n; // z steht für Fakultät
long [] Feld1; // Das "Feld1" soll
Feld1 = new int[(int) (z+1)]; // eine Stelle mehr als die Variable z haben
while (n<20)
{ n++; i=z; z=i*n;}
System.out.println (z);
}
}
Was muss ich ändern, damit Fakultät 1000 ausrechenbar ist?
Ich hoffe mal, es kann mir jemand helfen?!