Números abundantes

  1. Diseña una función @sumdivisores(n)@ que dado el int n>0n>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 2n2n.

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

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

  4. Diseña una función @primer_consecutivo(desde, hasta)@, que dados dos int 0<desde<hasta0<desde<hasta devuelva el primer número abundante desde<=x<hastadesde<=x<hasta tal que x+1x+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