Hi
wir haben folgenden Code, der bis G = 400 ohne Probleme funktioniert. Jedoch soll er bis 4.000.000 funktionieren. Wir bekommen jedoch beim Starten sofort die Meldung "StackOverflow".
Thx Tobi[/code]
wir haben folgenden Code, der bis G = 400 ohne Probleme funktioniert. Jedoch soll er bis 4.000.000 funktionieren. Wir bekommen jedoch beim Starten sofort die Meldung "StackOverflow".
Code:
public class Aufgabe4 {
static int betrag [] = {0, 3, 5, 7, 13, 17, 29};
// Muenz-Nummern : 0 1 2 3 4 5 6 7
static long Tab [][];
public static BigInteger w (double G, int i)
{
return (G == 0) ?
new BigInteger("1"):
((G < 0)||i == 0) ?
new BigInteger("0"):
(w(G,i-1)).add(w (G-betrag[i],i));
}
public static void main (String[] args)
{
double G = 4000000;
//Tab = new long [G+1][6];
System.out.println("Den Betrag von "+G+" kann man auf "+
w (G,6)+ " verschiedene Arten herausgeben.");
}
}
Thx Tobi[/code]