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