Número de divisores

Diseñad la función @pos_muchos_divisores(n, listanum)@ que, dado un
valor entero n no negativo y una lista listanum de números enteros
mayores que cero devuelva la posición del primer valor en listanum que
tenga exactamente n divisores. Si tal valor no existe, tiene que
devolver -1.

Es obligatorio utilizar la función @divisores(k)@ proporcionada a
continuación para conocer la cantidad de divisores de un número.

    def divisores(k):
        '''
        k es un entero mayor que cero
        >>> sorted(divisores(12))
        [1, 2, 3, 4, 6, 12]
        '''
        lista_div = [1]
        if k != 1:
            lista_div.append(k)
        i = 2
        while i*i < k:
            if k % i == 0:
                lista_div.append(i)
                lista_div.append(k//i)
            i += 1
        if k == i*i:
            lista_div.append(i)
        return lista_div

Ejemplo de sessión

Información del problema

Autoría: InfBesos

Generación: 2026-01-25T14:26:24.794Z

© Jutge.org, 2006–2026.
https://jutge.org
