Thema: Delphi Quersumme berechnen

Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#1

Quersumme berechnen

  Alt 7. Nov 2006, 15:47
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]
Andreas
  Mit Zitat antworten Zitat