Thử thách :
Đếm số lượng những cái 1
trong biểu diễn nhị phân của tất cả số giữa một phạm vi.
Đầu vào :
Hai số nguyên dương không thập phân
Đầu ra:
Tổng của tất cả các 1
s trong phạm vi giữa hai số.
Thí dụ :
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
Tôi chỉ giải thích ví dụ đầu tiên nếu không nó sẽ chiếm một khoảng không gian lớn nếu tôi cố gắng giải thích cho tất cả chúng.
Chú thích :
- Các số có thể cách nhau hơn 1000
- Tất cả đầu vào sẽ hợp lệ.
- Sản lượng tối thiểu sẽ là một.
- Bạn có thể chấp nhận số là một mảng gồm hai phần tử.
- Bạn có thể chọn cách các số được đặt hàng.
Tiêu chí chiến thắng:
Đây là môn đánh gôn để mã ngắn nhất tính theo byte cho mỗi ngôn ngữ sẽ thắng.
IntRange
trong Kotlin, Range
trong Ruby) không?
1000 - 2000
mang lại 5938, nhưng giảm 1000 trường hợp, kết quả cũng giảm 1000 : 0-1000 = 4938
. Bằng chứng