trang chủ / bài tập / halfadder

Máy tính hỏng

Đề bài

Mô tả

Với hai số nguyên không âm ab, phép cộng a+b và phép XOR nhị phân ab 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 lr, hãy đếm số cặp có thứ tự (a,b) thoả mãn đồng thời:

  • a+b=ab
  • lar
  • lbr

Hai cặp (a,b)(b,a) với ab đượ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 (1t100) — số bộ test.
  • t dòng tiếp theo, mỗi dòng chứa hai số nguyên lr (0lr109).

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

  • 1t100
  • 0lr109
  • 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+323323323 nên đáp án bằng 0.
1
0 0
1 Cặp duy nhất là (0,0), và 0+0=00=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 11=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.400 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.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0