Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.168 Beiträge
 
Delphi 12 Athens
 
#4

Re: kleinster gemeinsamer Teiler

  Alt 4. Mai 2008, 12:31
sinnvoll wäre wohl etwas davon:
"größter gemeinsamer Teiler" oder "kleinstes gemeinsames Vielfaches"

und am Einfachsten ist (wie schon gezeigt), in einer Schleife alle möglichen (logischen) "Teiler" durchzutesten.

Delphi-Quellcode:
function GGT(a, b: Integer): Integer;
begin
  // größten lögischen Teiler wählen
  if Abs(a) < Abs(b) then Result := Abs(a)
  else Result := Abs(b);
  // schleife zum durchtesten
  while Result > 1 do
  begin
    // abbrechen wenn Teiler gefunden
    if (a mod Result = 0) and (b mod Result = 0) then
      break;
    Dec(Result);
  end;
end;
Delphi-Quellcode:
function GGT(a, b: Integer): Integer;
begin
  // größten lögischen Teiler wählen
  if Abs(a) < Abs(b) then Result := Abs(a)
  else Result := Abs(b);
  // schleife zum durchtesten
  while (Result > 1) and ((a mod Result <> 0) or (b mod Result <> 0)) do
    Dec(Result);
end;
Delphi-Quellcode:
function GGT(a, b: Integer): Integer;
begin
  // größten lögischen Teiler wählen
  if Abs(a) < Abs(b) then Result := Abs(a)
  else Result := Abs(b);
  // schleife zum durchtesten
  while (Result > 1) and ((a mod Result <> 0) or (b mod Result <> 0)) do
    Result := Result div 2;
end;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat