ich hatte Langeweile und habe zwei kleine Programme geschrieben.
1.Einfaches Programm zum Primzahlen berechnen:
Code: Alles auswählen
def PrimeBerechnen(bis, primzahlen):
if len(primzahlen) < 2:
primzahlen = [2]
datei.write(str(2) + ",")
von = 3
else:
von = primzahlen[len(primzahlen) - 1] + 2
print("Berechne Primzahlen von", von, "bis", bis)
for zahl in range(von, bis, 2):
halb = zahl ** 0.5
try:
for primzahl in primzahlen:
if primzahl > halb:
break
rest = (zahl % primzahl)
if not rest:
raise ZeroDivisionError
except ZeroDivisionError:
continue
primzahlen.append(zahl)
datei.write(str(zahl) + ",")
print("Berechnung fertig!")
return primzahlen
if __name__ == "__main__":
import time, sys
berechnen_bis = int(input("Bitte größte zu berechnene Zahl eingeben: "))
primzahlen = []
try:
datei = open("prmzhln.txt", "r+")
except:
datei = open("prmzhln.txt", "w+")
dateir = datei.read()
daten = dateir.split(",")
for zahl in daten:
try:
primzahlen.append(int(zahl))
except:
break
startzeit = time.time()
try:
primzahlen = PrimeBerechnen(berechnen_bis, primzahlen)
except KeyboardInterrupt:
print("Berechnung abgebrochen!")
print("Letzte Primzahl:", primzahlen[len(primzahlen)-1])
datei.close()
sys.exit()
endzeit = time.time()
zeitdauer = endzeit - startzeit
print("Dauer:", zeitdauer, "Sekunden")
print("Anzahl Primzahlen:", len(primzahlen))
#print("Primzahlen:", primzahlen)
datei.close()
Code: Alles auswählen
def kgV(zahlen):
mal = 1
while True:
vielfaches = zahlen[0] * mal
try:
for zahl in zahlen:
rest = (vielfaches % zahl)
if not rest: pass
else:
raise
break
except: pass
mal += 1
return vielfaches
def ggT(zahlen):
teiler = zahlen[0]
while True:
try:
for zahl in zahlen:
rest = (zahl % teiler)
if not rest: pass
else:
raise
break
except: pass
teiler -= 1
return teiler
if __name__ == "__main__":
zahlen = []
while True:
try:
zahlen.append(int(input("Zahl eingeben: ")))
except:
print("Berechnung beginnt!")
break
z_e_sortiert = sorted(zahlen)
z_u_sortiert = sorted(zahlen, reverse=True)
print("Aufsteigend sortiert: " + str(z_e_sortiert))
print("Absteigend sortier: " + str(z_u_sortiert))
a_kgV = kgV(z_u_sortiert)
a_ggT = ggT(z_e_sortiert)
print("kgV:", a_kgV)
print("ggT:", a_ggT)