Ich glaube das ist schon im Ansatz falsch, zumindest ist für mich nicht ersichtlich, wo da ungerade Zahlen herkommen sollen.
Ich würde das so machen:
Delphi-Quellcode:
function UngeradeZahlenaddiert(von,bis:Integer):Integer;
Var i:Integer;
Begin
if (von
mod 2)=0
Then
Inc(von);
if (bis
mod 2)=0
Then
Dec(bis);
i:=von;
Result:=0;
while i<bis
do
begin
Result:=Result+i;
Inc(i,2);
end;
end;
Außerdem hab ich den Verdacht, dass das irgendwie auch ohne Schleife geht..