Desafío :
Cuente el número de unidades 1
en la representación binaria de todos los números entre un rango.
Entrada:
Dos enteros positivos no decimales
Salida:
La suma de todas las 1
s en el rango entre los dos números.
Ejemplo:
4 , 7 ---> 8
4 = 100 (adds one) = 1
5 = 101 (adds two) = 3
6 = 110 (adds two) = 5
7 = 111 (adds three) = 8
10 , 20 ---> 27
100 , 200 ---> 419
1 , 3 ---> 4
1 , 2 ---> 2
1000, 2000 ---> 5938
Solo he explicado el primer ejemplo; de lo contrario, habría ocupado una gran cantidad de espacio si hubiera intentado explicarlo a todos.
Nota :
- Los números pueden estar separados por más de 1000
- Toda entrada será válida.
- El resultado mínimo será uno.
- Puede aceptar el número como una matriz de dos elementos.
- Puedes elegir cómo se ordenan los números.
Criterios ganadores:
Este es el código de golf, por lo que gana el código más corto en bytes para cada idioma.
IntRange
en Kotlin, Range
en Ruby)?
1000 - 2000
rinde 5938, pero menor el caso de 1000, el resultado también se reduce en 1000: 0-1000 = 4938
. Prueba