trang chủ / đề bài / coprgrid

Đếm cặp nguyên tố cùng nhau trên lưới

Đề bài

Mô tả

Cho Q truy vấn. Mỗi truy vấn gồm hai số nguyên dương n và m. Với mỗi truy vấn, hãy đếm số cặp (i,j) thỏa mãn 1≤i≤n, 1≤j≤m và gcd(i,j)=1 (tức i và j nguyên tố cùng nhau).

Dữ liệu vào

  • Dòng đầu chứa số nguyên Q — số truy vấn.
  • Q dòng tiếp theo, mỗi dòng chứa hai số nguyên n và m.

Dữ liệu ra

In ra Q dòng, dòng thứ k là đáp án của truy vấn thứ k.

Ràng buộc

  • 1≤Q≤10
  • 1≤n,m≤2·106
  • Tổng của min(n,m) trên tất cả các truy vấn không vượt quá 2·106.
  • Đáp án có thể lớn (tới khoảng 4·1012), hãy dùng kiểu số nguyên 64-bit.

Ví dụ

Input Output Giải thích
1
5 5
19 Trong lưới 5×5 có 25 cặp (i,j); trong đó 19 cặp có gcd(i,j)=1. Sáu cặp bị loại là (2,2),(2,4),(4,2),(4,4),(3,3),(5,5).
4
1 1
1 10
3 7
6 6
1
10
16
23
Với n=1 thì mọi cặp đều là (1,j) nên gcd=1, đáp án bằng m. Với n=m=6 có 23 cặp nguyên tố cùng nhau.

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