![]() |
Kleinere Zahlen hinzuzählen
Hallo DP,
ich wollte mal fragen wie folgendes in Delphi zu realisieren ist... ich hab zum Beispiel die Zahl 7 und möchte nun alle Zahlen die kleiner sind als 7 also von 1 (einschließlich 1 :D ) hinzuzählen daraus ergibt sich : 1+2+3+4+5+6+7 LG GericasS :?: |
Re: Kleinere Zahlen hinzuzählen
Zwei ansätze: Iterativ:
Delphi-Quellcode:
Rekursiv:
function Summ(a: integer): Integer;
var i: integer; begin result:=0; for i := 1 to a do result:=result+i; end;
Delphi-Quellcode:
Ungetestet
function Summ(a: Integer): Integer;
begin if a <=1 then begin result:=a; exit; end; result:=Summ(a-1)+a; end; |
Re: Kleinere Zahlen hinzuzählen
Habt ihr in der Schule grad Einführung in Rekursionen?
|
Re: Kleinere Zahlen hinzuzählen
Zitat:
Zitat:
|
Re: Kleinere Zahlen hinzuzählen
Und wo bleibt der Resourcenschonende Ansatz? (Green IT und so...)
Delphi-Quellcode:
function Summ(n: integer): Integer;
begin result = n*(n+1)/2.0; end; |
Re: Kleinere Zahlen hinzuzählen
so ist das Rechenergebnis eine Fließkommazahl und kein Integer:
also müßte man es noch umwandeln [add]ohhh und Vergleich statt Zuweisung ... kein ":" :shock: [/add]
Delphi-Quellcode:
oder besser glich bei Integer bleiben:
function Summ(n: integer): Integer;
begin result := Round(n * (n + 1) / 2.0); end;
Delphi-Quellcode:
aber ich hab noch'n paar Löungen mit Schleifchen :angel:
function Summ(n: integer): Integer;
begin result = n * (n + 1) div 2; end;
Delphi-Quellcode:
// Result=0 wenn n negativ
function Summ(n: integer): Integer; begin Result := 0; while n >= 1 do begin Inc(Result, n); //Result := Result + n; Dec(n); end; end;
Delphi-Quellcode:
// Result=n wenn n negativ
function Summ(n: integer): Integer; begin Result := 0; repeat Inc(Result, n); //Result := Result + n; Dec(n); until n < 1; end; |
Re: Kleinere Zahlen hinzuzählen
Zitat:
|
Re: Kleinere Zahlen hinzuzählen
Zitat:
Python ist so eine schöne Sprache und da sinds eben die ==-Vergleiche. |
DP-Maintenance
Dieses Thema wurde von "Matze" von "Programmieren allgemein" nach "Sonstige Fragen zu Delphi" verschoben.
Delphi-Frage |
Re: Kleinere Zahlen hinzuzählen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz