AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

kleinster gemeinsamer Teiler

Offene Frage von "Austrianer"
Ein Thema von Austrianer · begonnen am 4. Mai 2008 · letzter Beitrag vom 5. Mai 2008
Antwort Antwort
Seite 1 von 2  1 2      
Austrianer

Registriert seit: 4. Mai 2008
2 Beiträge
 
#1

kleinster gemeinsamer Teiler

  Alt 4. Mai 2008, 12:20
hy leute!!!
wollte fragen ob ihr wisst wie ich den kgv(kleinster gemeinsamer Teiler)programmieren kann...
zB.:von 60 und 45
mfg patrick
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: kleinster gemeinsamer Teiler

  Alt 4. Mai 2008, 12:23
Delphi-Quellcode:
function kleinstergemeinsamerteiler(a, b: Integer): Integer;
begin
  result := 1;
end;

Aufruf:
Delphi-Quellcode:
var i: Integer;
[...]
  i:=kleinstergemeinsamerteiler(60, 45);
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#3

Re: kleinster gemeinsamer Teiler

  Alt 4. Mai 2008, 12:29
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...

Code:
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
Vielleicht kannst du damit was anfangen?

Mit freundlichen Grüßen,

Valle
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 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
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#5

Re: kleinster gemeinsamer Teiler

  Alt 4. Mai 2008, 12:47
GGT & KGV
Thomas
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: kleinster gemeinsamer Teiler

  Alt 4. Mai 2008, 12:53
Der Kleinste gemeinsame Teiler wäre wohl 1
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#7

Re: kleinster gemeinsamer Teiler

  Alt 4. Mai 2008, 12:59
Hai Austrianer,

ersteinmal: "Herzlich Willkommen in der Delphi-PRAXiS"

Eventuell ist auch dies hier noch interessant.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von rawsoul
rawsoul

Registriert seit: 29. Okt 2006
Ort: Düsseldorf
249 Beiträge
 
Delphi 2005 Personal
 
#8

Re: kleinster gemeinsamer Teiler

  Alt 4. Mai 2008, 13:11
Vielleicht ist auch der größte gemeinsame Teiler gemeint? oO
Delphi-Quellcode:
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;
//Edit: Habe die 0 vernachlässigt
//Re-Edit: Und durchs "Verbessern" Javasyntax reingewurstet
Frank Dumont
  Mit Zitat antworten Zitat
Austrianer

Registriert seit: 4. Mai 2008
2 Beiträge
 
#9

Re: kleinster gemeinsamer Teiler

  Alt 4. Mai 2008, 18:30
hey guys..
danke jt kapier ichs..
wollts zwar ohne a function probieren geht aber so auch.
mfg
  Mit Zitat antworten Zitat
Benutzerbild von tomsel
tomsel

Registriert seit: 8. Dez 2005
Ort: am Chiemsee
304 Beiträge
 
Delphi 7 Professional
 
#10

Re: kleinster gemeinsamer Teiler

  Alt 4. Mai 2008, 19:33
inherited: *rofl*
Ein Experte ist ein Mann, der hinterher genau sagen kann, warum seine Prognose nicht gestimmt hat. (Winston Churchill)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:43 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