Imperfecciones


Submit solution


Points: 100 (partial)
Time limit: 3.0s
Memory limit: 128M

Authors:
Problem type
Allowed languages
Ada, BrainF***, C, C#, C++, Dart, Go, Java, JS, Kotlin, Lua, Pascal, Prolog, Python, Swift, VB

Un número es perfecto si es igual a la suma de sus divisores, los que son menores que él. Por ejemplo, el número 28 es perfecto debido a que 28 = 1 + 2 + 4 + 7 + 14.

Motivados por esta definición, introducimos la métrica de imperfección del número N, denotado con f(N), como la diferencia absoluta entre N y la suma de sus divisores menores que N. Se sigue que el puntaje de imperfección de los números perfectos es 0, y el resto de números naturales tienen un puntaje más alto de imperfección. Por ejemplo:

• \(f(6) = |6 – 1 -2 – 3| = 0\).

• \(f(11) = |11 – 1| = 10\).

• \(f(24) = |24 – 1 – 2 – 3 – 4 – 6 -8 -12| = |-12| = 12\).

Escriba un programa que, para dos enteros positivos A y B, calcule la suma de imperfecciones de todos los números entre A y B: f(A) + f(A+1) + ... + f(B).

Entrada

La primera línea de la entrada contiene los enteros positivos A y B (1 \leq A \leq B \leq 10^7).

Salida

La primera y única línea de la salida debe contener la suma requerida.

Ejemplo #1 de Entrada

1 9

Ejemplo #1 de Salida

21

Ejemplo #2 de Entrada

24 24

Ejemplos #2 de Salida

12

Aclaración del primer caso ejemplo: 1 + 1 + 2 + 1 + 4 + 0 + 6 + 1 + 5.


Comments


  • 2
    leocar  commented on May 19, 2021, 3:12 a.m.

    Hay un procedimiento tipo criba que puedes guardar en el los divisores propios de cada i desde 1 hasta 1e7 + 3; Si te das cuenta para cada i la suma de sus divisores propios llamamos a X es menor la solución es s += X - i y si para cada i la suma de sus divisores propios llamamos a X es mayor la solución es s += i - X

    Ejemplo

    para i = 24 la suma de los divisores propios es 1 + 2 + 3 + 4 + 6 + 8 + 12 = |36 - 24| = 12 para i = 10 la suma de los divisores propios es 1 + 2 + 5 = |8 - 10| = 2


  • 1
    PedroPabloAB  commented on Oct. 25, 2020, 11:28 p.m.

    Por favor, pueden explicarme cómo hacer este problema?


    • 6
      aniervs  commented on May 22, 2021, 5:33 p.m.

      Se añadió una editorial, deberías poder verla a la derecha.