def betrag(x): if x>=0: y=x else: y=-x return y def istPrimzahl(n): if n==1: return False z=2 while(z<=n**(1/2)): if(n%z==0): return False else: z+=1 return True def Collatz(n): zaehler=0 while(n!=1): zaehler+=1 if n%2==0: n=n//2 else: n=3*n+1 return zaehler def collatzMax(m): maxi=0 maxiNumber=0 for i in range(1,m+1): t= Collatz(i) if t>maxi: maxi =t maxiNumber=i print(maxi) print(maxiNumber) #euklidischer Algorithmus def euklidggT(a,b): if a a_n * basis^n + ... + a_1* basis + a_0 def umrechnungInDezimal(my_liste, basis): dezimal = 0 for i in range(len(my_liste)): dezimal = dezimal + my_liste[i]* basis**(len(my_liste)-i-1) return dezimal umrechnungInDezimal([3,2,4],6) def umrechnungInDezimal2(my_liste, basis): my_liste.reverse() #dreh die Liste um dezimal = 0 for i in range(len(my_liste)): dezimal = dezimal + my_liste[i]* basis**i return dezimal umrechnungInDezimal2([3,2,4],6) #2. Ansatz: [a_n, ..., a_1, a_0] -> ((((a_n) * basis + a_n-1)* basis + ... a_1)* basis + a_0 Horner-Shema def umrechnungInDezHorner(my_liste, basis): dezimal = 0 for i in range(len(my_liste)): dezimal = dezimal*basis + my_liste[i] return dezimal umrechnungInDezHorner([3,2,4],6) def umrechnungVonDezimal(num, basis): zahl = [] current = num while current != 0: rest = current % basis zahl.append(rest) current = current // basis zahl.reverse() return zahl, basis print(umrechnungVonDezimal(13,6)) def umrechnungInBasis(zahl, basis): liste = [] y = zahl while y>0: x = y % basis #Rest liste.append(x) y = y // basis liste = list(reversed(liste)) return(liste) print(umrechnungInBasis(13, 2)) #FALSCH def umrechnungInBasisFalsch(zahl, basis): my_liste=[] while zahl>4: x = zahl%basis zahl = zahl//basis my_liste.append(x) return my_liste umrechnungInBasisFalsch(13,2)