Python :: Aufgabe #116

9 Lösungen Lösungen öffentlich

Bestimmung des kleinsten gemeinsamen Vielfachen (kgV)

Anfänger - Python von Nachbar - 09.07.2016 um 10:08 Uhr
Schreibe ein Programm zur Bestimmung des kgV zweier natürlicher Zahlen (siehe Beispiel zur kgV-Berechnung). Die Berechnung soll ohne Beteiligung des größten gemeinsamen Teilers erfolgen.

Beispielausgabe:
Zahl 1: 5
Zahl 2: 7

kgV: 35

Lösungen:

1 Kommentar
vote_ok
von ah3n0bar6us (660 Punkte) - 16.07.2016 um 16:39 Uhr
Eine einfache und schnelle Lösung.

Quellcode ausblenden Python-Code
#!/usr/bin/env python3
def kgV(m,n):
    """ calculate the least common multiple """
    if m == 0 or n == 0:
        print("kgV = 0")
    else:
        if m > n:
            m,n = n,m
        mCounter = m;
        while mCounter <= m*n:
            if mCounter % n == 0:
                print("kgV = ",mCounter)
                break
            mCounter += m

def main():
    kgV(10,12)
    kgV(5,7)

if __name__ == "__main__":
    main()


LG, Ah3
1 Kommentar
vote_ok
von Wingman (210 Punkte) - 12.08.2016 um 19:44 Uhr
Quellcode ausblenden Python-Code
def kgv():
	zahl1=input("Zahl 1: ")
	zahl2=input("Zahl 2: ")
	if zahl1 >= zahl2:
		gross = zahl1
		klein = zahl2
	else:	
		gross = zahl2
		klein = zahl1
	x = 1
	erg = 1
	kgv = 1
	while kgv != 0:
		erg = klein * x
		kgv = erg % gross 
		x+=1
	print "Der kgV von "+str(zahl1)+" und "+str(zahl2)+" ist "+str(erg)
kgv()
8 Kommentare
vote_ok
von Peter... (160 Punkte) - 13.08.2016 um 16:20 Uhr
der code ist im Anhang in Form einer .py Datei, da die Zeileneinschübe beim kopieren nicht übernommen wurden.
Verbesserungsvorschläge sind willkommen1
vote_ok
von Nachbar (2820 Punkte) - 14.08.2016 um 20:18 Uhr
Quellcode ausblenden Python-Code
# -*- coding: utf8 -*-

a = input("Zahl 1: ")
b = input("Zahl 2: ")

def kgV(a, b):
   # Variable für Multiplikator
   m = 1
   while m > 0:
      # Variable für Vielfaches
      lcm = m * a
      if lcm % b == 0:
         return lcm
         m = 0
      m = m + 1

print "\nkgV:", kgV(a, b)
1 Kommentar
vote_ok
von Cryptt (390 Punkte) - 15.08.2016 um 17:11 Uhr
Quellcode ausblenden Python-Code
# Uebung1.py
# Programm zur Ermittlung des kgV (kleinstes gemeinsames Vielfaches)

def ermittlung(Zahl1,Zahl2):
    if Zahl1 != Zahl2:
        multi = 1
        while ((Zahl1 * multi) % Zahl2):
            multi += 1

        returnValue = Zahl1 * multi
    
    else:
        returnValue = Zahl1

    return returnValue

z1 = int(input('Bitte erste Zahl eingeben: '))
z2 = int(input('Bitte zweite Zahl eingeben: '))

print('Der kleinste gemeinsame Vielfache ist:',ermittlung(z1,z2))
vote_ok
von Y0uLyric (500 Punkte) - 07.12.2016 um 21:37 Uhr
Verbesserungsvorschläge willkommen :D (meine erste allein-gelöste Aufgabe :D)

Quellcode ausblenden Python-Code

def kgv():

        x = int(input("Erste Zahl: "))
        y = int(input("Zweite Zahl: "))

        vielfache_von_x = []
        vielfache_von_y = []

        for z1 in range(1, 101):
                vielfache_von_x.append(x*z1)

        for z2 in range(1, 101):
                vielfache_von_y.append(y*z2)

        set1 = set(vielfache_von_x)
        set2 = set(vielfache_von_y)
        set3 = set1.intersection(set2)

        gemeinsame_vielfache = list(set3)
        gemeinsame_vielfache.sort()

        print(gemeinsame_vielfache[0])


kgv()
vote_ok
von 0 (0 Punkte) - 09.09.2017 um 23:21 Uhr
Quellcode ausblenden Python-Code
#kgV.py
a=input("Bitte eine natürliche Zahl eingeben:")
b=input("Bitte eine natürliche Zahl eingeben:")
try:
    a=int(a)
    b=int(b)
    while (a or b)<1:

        a=int(input("Bitte eine natürliche Zahl eingeben:"))
        b=int(input("Bitte eine natürliche Zahl eingeben:"))
        
    if a>b:
        a,b=b,a
    L=[]
    for i in range(a,b*a+1):
        L+=[i]
    
    for i in L:
        if i%b==0 and i%a==0:
            print("kgV: ",i)
            break
    print("Fertig")
      
except:
    print("Keine natürliche Zahl gewählt")
vote_ok
von Scowi (20 Punkte) - 24.10.2019 um 21:45 Uhr
Quellcode ausblenden Python-Code
def kgv():
    l = [int(input("Nummer1 = ")), int(input("Nummer2 = "))]
    l.sort()
    bigger = l[-1]
    x = 1
    if l[-1] == 0 or l[-2] == 0:
        print("0 geht nicht")
        return
    if l[-1] % l[-2] == 0:
        print(l[-1])
    else:
        while l[-1] % l[-2] != 0:
            l[-1] = bigger * x
            x = x + 1
        print(l[-1])
kgv()
1 Kommentar
vote_ok
von suffix321 (80 Punkte) - 23.11.2019 um 15:09 Uhr
Quellcode ausblenden Python-Code
Zahl1 = int(input("1.Zahl:"))
Zahl2 = int(input("2.Zahl:"))
while True:
    i = 1
    if Zahl1 == Zahl2:
        print("Zahlen sind gleich groß")
    if Zahl1 == 0 or Zahl2 == 0:
        print("mind. eine der Zahlen beträgt 0")
        break
    while True:
        d = i * Zahl1
        r2 = d % Zahl2
        if r2 == 0:
            print("Der kleinste gemeinsame Vielfache ist " + str(d))
            break
        i += 1
    break

thx
2092454

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.