#CF1971F. Circle Perimeter

    ID: 6897 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>二分暴力深度优先搜索计算几何模拟数学CodeforcesCodeforces Round 944(Div4)Div4FCF1971F1600

Circle Perimeter

题目描述

给定一个整数 rr,求满足与原点 (0,0)(0, 0) 的欧几里得距离大于等于 rr 且严格小于 r+1r+1 的所有整点的个数。

一个整点是指横纵坐标均为整数的点。点 (x,y)(x, y) 与原点 (0,0)(0, 0) 的欧几里得距离为 x2+y2\sqrt{x^2 + y^2}

输入格式

第一行包含一个整数 tt1t10001 \leq t \leq 1000),表示测试用例的数量。

每个测试用例仅包含一行,一个整数 rr1r1051 \leq r \leq 10^5)。

所有测试用例中 rr 的总和不超过 10510^5

输出格式

对于每个测试用例,输出一个整数,表示满足与原点的欧几里得距离 dd 满足 rd<r+1r \leq d < r+1 的整点的个数。

样例

6
1
2
3
4
5
1984
8
16
20
24
40
12504

样例说明

下图展示了前三个测试用例的点。

由 ChatGPT 4.1 翻译

来源

Codeforces 1971F,英文题名 Circle Perimeter。