Números abundantes

1.  Diseña una función @sumdivisores(n)@ que dado el int n > 0 devuelva
    la suma de todos sus divisores.

    Se pide hacer una función eficiente que compruebe la mínima cantidad
    de posibles divisores, evitando resultados triviales y aprovechando
    el cálculo de la raiz cuadrada.

2.  Un número es abundante cuando la suma de sus divisores supera 2n.

    Diseña una función @abundante(n)@ que detecte si un int 0 < n es
    abundante.

3.  Diseña una función @abundantes_consecutivos(desde, hasta)@, que
    dados dos int 0 < desde < hasta cuente cuántos números
    desde <  = x < hasta abundantes hay tales que x + 1 es también
    abundante.

4.  Diseña una función @primer_consecutivo(desde, hasta)@, que dados dos
    int 0 < desde < hasta devuelva el primer número abundante
    desde <  = x < hasta tal que x + 1 es también abundante. Si no hay
    ninguno devuelve -1.

Siempre que sea posible hay que utilizar las funciones de los apartados
previos.

Puntuación

Apartado 1: 40 puntos

Apartado 2: 15 puntos

Apartado 3: 20 puntos

Apartado 4: 25 puntos

Ejemplo de sessión

Información del problema

Autoría: InfBesos

Generación: 2026-01-25T16:40:34.885Z

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