Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Library: Algorithmen (https://www.delphipraxis.net/28-library-algorithmen/)
-   -   Delphi Quersumme berechnen (https://www.delphipraxis.net/80341-quersumme-berechnen.html)

shmia 7. Nov 2006 15:47


Quersumme berechnen
 
Delphi-Quellcode:
{*
 * Berechne die Quersumme aus einer Zahl x
 * z.B.: Quersumme von 1234 ist 10
 *}
function QuerSumme(x:Longint):integer;
begin
  Result := 0;
  while x <> 0 do
  begin
    Result := Result + (x mod 10);
    x := x div 10;
  end;
end;

{*
 * Berechne so oft die Quersumme aus einer Zahl x
 * bis das Ergebnis aus nur einer Ziffer besteht
 *}
function QuerQuerSumme(x:Longint):integer;
begin
   result := QuerSumme(x);
   while Abs(Result) > 9 do
      result := QuerSumme(Result);
end;
Von alzaimar kommt noch folgende Version für die Quer-Quersumme (funktioniert nur für positive Werte):
Delphi-Quellcode:
function QuerQuersumme (x : Integer) : Integer;
begin
  Result := 1+ ((x-1) mod 9);
end;
Von Nikolas kommt dazu noch folgende Erweiterung, damit die Funktion auch für negative Werte funktioniert:
Delphi-Quellcode:
function QuerQuersumme(x: integer): integer;
begin
  Result := Sign(x) * (1 + ((Abs(x)-1) mod 9));
end;
[edit=CalganX]Weitere Quellcodes angefügt. Mfg, CalganX[/edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:10 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz