--- GridSpeedApplet.old.java 2004-03-01 20:23:34.000000000 -0700 +++ GridSpeedApplet.java 2004-03-01 20:11:31.000000000 -0700 @@ -17,25 +17,24 @@ double total; double bttotal; double num, den; - double dt, btc, nbtc; + double dt, btc, btc1, btc2; int bt; public void init(int i){ num = i+1; den = i+2; total = 1 + 2*num/den; bttotal = total; - bt=2; if(i > 0){ btc=1; dt = 1/num + 1/den; - while(true){ - if((nbtc = dt*(bt-1)+1/(double)bt) < btc){ - btc = nbtc; - bt++; - continue; - }else{ - break; - } + bt = (int)StrictMath.sqrt(num*(num - 1)/(2*num - 1)); + btc1 = dt*(bt-1)+1/(double)bt; + btc2 = dt*bt+1/(double)(bt + 1); + if(btc2 < btc1){ + bt++; + btc = btc2; + }else{ + btc = btc1; } bttotal = total - (1 - btc); } @@ -50,7 +49,7 @@ } int backTrack(){ - return bt-2; + return bt-1; } }