Ahoihoi!!
ich sitz hier grad an nem kleinen Prog, das mir Pi "ausrechnet", nach folgender Methode: 1/1 + 1/4 + 1/9 + 1/16 + 1/25 + 1/36 .... 1/ n*n = Pi*Pi / 6
so, is auch alles kein Problem, bis ich n als ne sehr große zahl gesetzt hab, da bleibt das Program hängen bei ... + 1/65336 mit der fehlermeldung, ich solle doch bitte nicht durch null teilen
??
will ich doch garnich, zuerst dachte ich, dass die Zahl vllt zu groß ist, es geht aber nur mit 65336 net, mit größeren gehts (also zumindestens mal bis 99999)
Also mit dem Quelltext gehts:
Delphi-Quellcode:
var i, n: longint;
begin
n:=strtoint(edit1.text);
x:=0;
memo1.lines.Clear;
memo1.lines.Add(' 1/' + '1²');
for i:=2 to n do
begin
//memo1.lines.Add('+1/' + inttostr(i)+ '²');
if i = 65536 then else x:=x+(1/(i*i));
end;
x:=x+1;
memo1.lines.add('=' + floattostr(x));
end;
ohne die if zeile (also nur x:=x+(1/(i*i))) bleibt er halt hängen...
wird mich wirklich ma interessieren, woran das liegt...
hm.. vllt weil 65336 = 265² = 2^16... keine Ahnung
Vielen Dank
13Joe37