Python :: Aufgabe #116
9 Lösungen

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
Beispielausgabe:
Zahl 1: 5
Zahl 2: 7
kgV: 35
Lösungen:
Eine einfache und schnelle Lösung.
Python-Code
LG, Ah3

#!/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

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()
der code ist im Anhang in Form einer .py Datei, da die Zeileneinschübe beim kopieren nicht übernommen wurden.
Verbesserungsvorschläge sind willkommen1
Verbesserungsvorschläge sind willkommen1

# -*- 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)

# 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))
Verbesserungsvorschläge willkommen :D (meine erste allein-gelöste Aufgabe :D)
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()

#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")

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()

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