Hallo,
bei mir funktioniert folgender Code:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
i, n: longint;
x : Real;
begin
n := StrToIntDef(Edit1.text, 10);
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
x := x + (1 / (i * i))
else
break;
end;
x := x + 1;
memo1.lines.add('=' + floattostr(x));
end;
[Edit]
Der Code geht nicht bei 65536 als Eingabe.
Division durch Null als Meldung
Ich hab auch rausgefunden warum:
65536 * 65536 = 4294967296
Und 4294967296 ist sogar für ein LongWord zu lang
ein LongWord geht von 0...4294967295
mfg
Helmi
>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<