trang chủ / đề bài / floormod

Chia và dư

Đề bài

Mô tả

Một cặp số nguyên dương (a,b) được gọi là đặc biệt nếu ⌊a/b⌋=amodb. Ở đây ⌊a/b⌋ là thương của phép chia nguyên a cho b, còn amodb là số dư của phép chia đó.

Cho hai số nguyên x và y. Hãy đếm số cặp đặc biệt (a,b) thỏa mãn 1≤a≤x và 1≤b≤y.

Dữ liệu vào

  • Dòng đầu chứa số nguyên t là số lượng bộ dữ liệu.
  • Mỗi dòng trong t dòng tiếp theo chứa hai số nguyên x, y.

Dữ liệu ra

Với mỗi bộ dữ liệu, in ra trên một dòng số lượng cặp đặc biệt.

Ràng buộc

  • 1≤t≤100
  • 1≤x,y≤109

Ví dụ

Input Output Giải thích
9
3 4
2 100
4 3
50 3
12 4
69 420
12345 6789
123456 789
12345678 9
1
0
2
3
5
141
53384
160909
36
Ở bộ đầu, cặp đặc biệt duy nhất là (3,2) vì ⌊3/2⌋=1=3mod2. Ở bộ thứ ba, có hai cặp: (3,2) và (4,3).
6
1 1
2 1
1 1000000000
1000000000 1
2 2
1000000000 2
0
0
0
0
0
1
Khi b=1 thì amodb=0 nhưng ⌊a/b⌋=a≥1, nên không có cặp nào. Bộ cuối chỉ có cặp (3,2) với a=3≤109, b=2.

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