Desafio:
Conte o número de unidades 1
na representação binária de todos os números entre um intervalo.
Entrada :
Dois inteiros positivos não decimais
Saída:
A soma de todos os 1
s no intervalo entre os dois números.
Exemplo:
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
Eu expliquei apenas o primeiro exemplo, caso contrário, ele ocuparia uma quantidade enorme de espaço se tentasse explicar para todos eles.
Nota :
- Os números podem ser separados em mais de 1000
- Toda entrada será válida.
- A saída mínima será uma.
- Você pode aceitar o número como uma matriz de dois elementos.
- Você pode escolher como os números são ordenados.
Critérios de vitória:
Este é o código-golfe, pelo que o código mais curto em bytes para cada idioma vence.
IntRange
no Kotlin, Range
no Ruby)?
1000 - 2000
produz 5938, mas abaixar o caso em 1000, o resultado também cai em 1000: 0-1000 = 4938
. Prova