前言
-🏀大家好,我是BXuan,热爱编程与篮球的软件工程大二学生一名
-📚本专栏刷一下往年的蓝桥真题,也加深自己对算法与数据结构的理解与实现。
-🏃放弃不难,但坚持一定很酷。
2018年第九届蓝桥杯JavaB组省赛-第二题:方格计数
🧏♂️题目描述
如图p1.png所示,在二维平面上有无数个1x1的小方格。
我们以某个小方格的一个顶点为圆心画一个半径为1000的圆。
你能计算出这个圆里有多少个完整的小方格吗?
注意:需要提交的是一个整数,不要填写任何多余内容。
🥇代码示例
package E_lanqiao;
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
//在此输入您的代码...
/*
* 假设以原点为中心,以右上角为例子,那么在圆里面的方格的
* 最极限条件就是对角线上的点在方格里面,也就是勾股定理
*/
int ans = 0;
for(int i = 1;i <= 1000;i++) {
for(int j = 1;j <= 1000;j++) {
if(i*i + j*j <= 1000*1000) {
ans++;
}
}
}
System.out.println(ans*4);//3137548
scan.close();
}
}
👏小结
本道题并没有用到太多的数据结构以及算法的知识,考察的就是对方格纸里面画圆的极限的理解。