Algorithmus zum Finden aller Teiler einer Zahl
📁 Funktion, Liste, Python, Beispiel
Hallo! Bei einer Aufgabe musste ich im Internet nach einem Algorithmus zum Finden aller Teiler einer Zahl suchen. Also für Acht muss [1,2,4,8] ausgegeben werden, nicht [2,2,2] - eine Liste der Teiler. Ich habe diesen Algorithmus neu geschrieben und bitte die ""älteren Kollegen"" um Hinweise zur Verbesserung. Wenn ihr Zeit habt ))
def divisorss(n): from collections import Counter ls = get_ls(n) # for n=1568 -> ls = [2, 2, 2, 2, 2, 7, 7] pairs = dict(Counter(ls)) # {2: 5, 7: 2} from itertools import product, starmap from operator
Für Zahlen bezeichnet & das bitweise "UND" (). Im binären Zahlensystem ist 2 ** n eine 1, gefolgt von n Nullen, und (2 ** n - 1) sind n Einsen. Zum Beispiel: (dez) 32 = (bin) 100000 und (dez) 31 = (bin) 11111. Unter allen positiven Zahlen haben nur Zweierpotenzen keine gemeinsamen Einsen mit der vorherigen Zahl. Der Code enthält einen Fehler: 0 wird als Zweierpotenz betrachtet.
Anmelden um eine Antwort zu hinterlassen