第九届蓝桥杯_方格计数

标题:方格计数

如图p1.png所示,在二维平面上有无数个1x1的小方格。

我们以某个小方格的一个顶点为圆心画一个半径为1000的圆。

你能计算出这个圆里有多少个完整的小方格吗?

注意:需要提交的是一个整数,不要填写任何多余内容。--3137548


p1.png

不要想当然,程序结果不会骗人的,细心和耐心是简单题目考察的本质,对于计数题目在给定范围的计数几乎所有都可以使用枚举计数的方法,该题我们只需要以单位1(方格边长)递增枚举所有方格的对角线满足小于半径1000的即可。代码的一些小技巧请参考

```

/**

* 方格计数

*

* @author: lht

* @date: 2023-01-08

*/

public class SquareCounting {

public static void main(String[] args) {

int ans =0;

int rr =2 *2;

for (int i =1; i <=2; i++) {

for (int j =1; j <=2; j++) {

if (i*i + j*j <= rr) {

ans++;

}

}

}

ans *=4;

System.out.println(ans);

}

}

```

如果还不理解请思考这句话:每次以方格边长递增枚举,满足对角线长小于半径就说明范围内多了一个完整的方格

你可能感兴趣的:(第九届蓝桥杯_方格计数)