trang chủ / đề bài / hp_ts10_25_a

Điểm nguyên giữa hai đường tròn

Đề bài

Mô tả

Cho hai đường tròn đồng tâm O có bán kính lần lượt là R1,R2 nguyên dương.

Yêu cầu: Đếm số điểm tọa độ nguyên thuộc hình tròn (O,R2) nhưng không thuộc hình tròn (O,R1) với R1<R2. Biết rằng, khoảng cách từ điểm M(x,y) đến gốc tọa độ O(0,0) là x2+y2.

Hình tròn (O,R) gồm cả các điểm nằm trên đường tròn, tức là điểm M(x,y) thuộc hình tròn (O,R) khi và chỉ khi x2+y2≤R. Như vậy cần đếm số cặp số nguyên (x,y) thỏa mãn R12<x2+y2≤R22.

Dữ liệu vào

Nhập vào hai số nguyên dương R1, R2 (R1<R2≤108).

Dữ liệu ra

In ra số nguyên duy nhất là kết quả tìm được.

Ràng buộc

  • R1,R2 nguyên dương, R1<R2≤108.

Subtasks

  • Subtask 1 (50% số điểm): R1<R2≤103.
  • Subtask 2 (30% số điểm): R1<R2≤106.
  • Subtask 3 (20% số điểm): không có ràng buộc gì thêm.

Ví dụ

Input Output Giải thích
2 3 16 Hình tròn bán kính 3 chứa 29 điểm nguyên, hình tròn bán kính 2 chứa 13 điểm nguyên, kết quả là 29−13=16.
4 5 32 Hình tròn bán kính 5 chứa 81 điểm nguyên, trong đó có 12 điểm nằm trên đường tròn như (3,4) và (5,0); các điểm này được đếm. Hình tròn bán kính 4 chứa 49 điểm nguyên, trong đó có 4 điểm nằm trên đường tròn như (4,0); các điểm này không được đếm. Kết quả là 81−49=32.

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