在二维平面上有无数个1x1的小方格。
我们以某个小方格的一个顶点为圆心画一个半径为1000的圆。
你能计算出这个圆里有多少个完整的小方格吗?
public static void main(String[] args) {
// TODO Auto-generated method stub
int r=1000;
int sum=0;
for(int x=1;x<r;x++) {
for(int y=1;y<r;y++) {
if((x*x+y*y)<=(r*r)) {
sum+=1;
}
}
}
System.out.println(sum*4);
}
解题思路是先将圆心看为原点,然后计算第一象限,把圆内小方格的右上角的坐标都计算一遍,当该座标到原点的距离小于等于圆的半径时则该小方格在圆内,但是要注意的时x,y坐标不能为0,x,y的取值范围应该是1到r,最后计算完成后乘以4就是最后的个数(因为刚开始只计算了第一象限)。
- Math.sqrt(x) ,将某个数开平方(本题并没有涉及到该知识点,只是简单的补充)