![]() |
kleinster gemeinsamer Teiler
hy leute!!!
wollte fragen ob ihr wisst wie ich den kgv(kleinster gemeinsamer Teiler)programmieren kann... zB.:von 60 und 45 mfg patrick |
Re: kleinster gemeinsamer Teiler
Delphi-Quellcode:
;)
function kleinstergemeinsamerteiler(a, b: Integer): Integer;
begin result := 1; end; Aufruf:
Delphi-Quellcode:
var i: Integer;
[...] i:=kleinstergemeinsamerteiler(60, 45); |
Re: kleinster gemeinsamer Teiler
Ich gehe mal davon aus, dass du das kleinste gemeinsame Vielfache suchst. Ich habe hier noch einen Python-Code rumliegen, ich denke aber kaum, dass ich den sinnvoll in Delphi übersetzen kann. Habe schon seit 2 Jahren kein Delphi mehr... :cyclops:
Code:
Vielleicht kannst du damit was anfangen?
def kgv(a, b):
return abs(a * b) / ggt(a, b) def ggt(a, b): while b != 0: h = a % b a = b b = h return a Mit freundlichen Grüßen, Valle |
Re: kleinster gemeinsamer Teiler
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; |
Re: kleinster gemeinsamer Teiler
|
Re: kleinster gemeinsamer Teiler
Der Kleinste gemeinsame Teiler wäre wohl 1 :mrgreen:
|
Re: kleinster gemeinsamer Teiler
Hai Austrianer,
ersteinmal: "Herzlich Willkommen in der Delphi-PRAXiS" :hello: Eventuell ist auch ![]() |
Re: kleinster gemeinsamer Teiler
Vielleicht ist auch der größte gemeinsame Teiler gemeint? oO
Delphi-Quellcode:
//Edit: Habe die 0 vernachlässigt :oops:
function ggt(i, j:integer):integer;
begin i := abs(i); j := abs(j); if ((i = 0) or (j = 0)) then begin result := 1; exit; end; while i <> j do if i > j then i := i - j else j := j - i; result := i; end; //Re-Edit: Und durchs "Verbessern" Javasyntax reingewurstet :wall: |
Re: kleinster gemeinsamer Teiler
hey guys..
danke jt kapier ichs.. wollts zwar ohne a function probieren geht aber so auch. mfg |
Re: kleinster gemeinsamer Teiler
inherited: *rofl* :cheer:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:13 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 by Thomas Breitkreuz