Avatar ·

algoritmo para encontrar todos los divisores de un número

📁 función, lista, python, ejemplo

¡Hola! Al resolver un problema, tuve que buscar en internet un algoritmo para encontrar todos los divisores de un número. Es decir, para ocho hay que devolver [1,2,4,8], no [2,2,2] - la lista de divisores. Reescribí este algoritmo desde cero, les pido a los "compañeros mayores" que me indiquen cómo mejorarlo. Si tienen tiempo ))

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 import mul    from functools import reduce    #  lista de todos los divisores del número    bases = [b