trang chủ / đề bài / halfadder

Máy tính hỏng

Đề bài

Mô tả

Với hai số nguyên không âm a và b, phép cộng a+b và phép XOR nhị phân a⊕b nói chung cho kết quả khác nhau: phép cộng có nhớ, còn XOR thì không. Chúng chỉ trùng nhau khi việc cộng a với b không sinh ra bất kì lần nhớ nào.

Cho hai số nguyên l và r, hãy đếm số cặp có thứ tự (a,b) thoả mãn đồng thời:

  • a+b=a⊕b
  • l≤a≤r
  • l≤b≤r

Hai cặp (a,b) và (b,a) với a≠b được tính là hai cặp khác nhau.

Mỗi file dữ liệu chứa nhiều bộ test độc lập.

Dữ liệu vào

  • Dòng đầu chứa số nguyên t (1≤t≤100) — số bộ test.
  • t dòng tiếp theo, mỗi dòng chứa hai số nguyên l và r (0≤l≤r≤109).

Dữ liệu ra

Với mỗi bộ test, in ra trên một dòng số cặp (a,b) thoả mãn.

Ràng buộc

  • 1≤t≤100
  • 0≤l≤r≤109
  • Kết quả có thể vượt quá phạm vi số nguyên 32 bit.

Ví dụ

Input Output Giải thích
3
1 4
323 323
1 1000000
8
0
3439863766
Bộ test đầu có 8 cặp: (1, 2), (1, 4), (2, 1), (2, 4), (3, 4), (4, 1), (4, 2), (4, 3). Bộ test thứ hai chỉ có một lựa chọn duy nhất là a=b=323, nhưng 323+323≠323⊕323 nên đáp án bằng 0.
1
0 0
1 Cặp duy nhất là (0,0), và 0+0=0⊕0=0.
1
0 1
3 Ba cặp hợp lệ là (0,0), (0,1), (1,0). Cặp (1,1) không hợp lệ vì 1+1=2 còn 1⊕1=0.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0