Zitat von
Ilay:
1. Es soll die Summe aller ungeraden Zahlen von 1 bis zu einem einzugebenden Höchstwert n berechnet und ausgegeben werden!
Delphi-Quellcode:
// Summe der ungeraden Zahlen im Bereich 1 bis n
// Funktioniert bis n=46340, bei höheren Werten Integer-Overflow
FUNCTION SumOfOdd(n:integer):integer;
begin
result:=Sqr(n - 1 or 1 + 1) div 4
end;
Zitat von
Ilay:
2. Wieviel gerade zahlen (der erste Summand ist 2) sind zu addieren, damit eine einzugebende Summe s erreicht oder überschritten wird?
Delphi-Quellcode:
// Anzahl der geraden Zahlen ab 2, die als Summe n erreicht (oder überschreitet)
// Funktioniert bis n=536870911, bei höheren Werten Integer-Overflow
FUNCTION CountOfEven(n:integer):integer;
begin
result:=Ceil((Ceil(Sqrt(4 * n + 1)) or 1 - 1) / 2)
end;