Tjee
Legacy Member
Nicske91 zei:Code:public class FiDo { long [] reeds; int lastCalc; public FiDo(int max) { reeds = new long[max]; reeds[0] = 1;reeds[1] = 1; for (int i=2;i<max;i++) reeds[i] = 0; lastCalc = 0; } private long fiboRec(int n) { if (n >= reeds.length || reeds[n] == 0) { long res = fiboRec(n-1) + fiboRec(n-2); if (n <= reeds.length) reeds[n] = res; setLastCalc(getLastCalc()+1); return res; } return reeds[n]; } public int getLastCalc() { return lastCalc;} private void setLastCalc(int lC) {lastCalc = lC;} public long fibo(int n) {setLastCalc(0); return fiboRec(n);} public static void main(String[] args) { FiDo mnFi = new FiDo(100); System.out.println(mnFi.fibo(5) + "(" + mnFi.getLastCalc() + ")"); System.out.println(mnFi.fibo(7) + "(" + mnFi.getLastCalc() + ")"); System.out.println(mnFi.fibo(1) + "(" + mnFi.getLastCalc() + ")"); System.out.println(mnFi.fibo(5) + "(" + mnFi.getLastCalc() + ")"); System.out.println(mnFi.fibo(21) + "("+ mnFi.getLastCalc() + ")"); } }
Nja ik ben hier weer ^^. Ik krijg telkens een foute waarde wnr ik redeneer bij de eerste system.out.println(...). Normaal krijg ik voor de waarde mnFi.fibo(5) = 8 en voor de mnFi.getLastCalc() = 1, terwijl deze laatste 4 moet zijn. Weet er iemand hoe men hieraan komt? Enorm bedankt!
Welke richting doe gij?


In mijn tijd was het een spel waar je het gedrag van slangen, ratten, honden en nog wat monsters moest programmeren in een doolhof en dan met een held die afmaken en wapens/potions enz oprapen.

Niets zo goed als een dikke amerikaanse boek waar alles mooi in t lang en breed staat uitgelegd.
Stevig.
?