欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java实现蓝桥杯方格计数

程序员文章站 2024-02-11 09:30:52
...

标题:方格计数

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

Java实现蓝桥杯方格计数
我们以某个小方格的一个顶点为圆心画一个半径为 50000 的圆。
你能计算出这个圆里有多少个完整的小方格吗?

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

这里我们取一个圆的36分之一,也就是一个四分之一圆的九分之一
然后再把线上点的加上

package 第八次模拟;

public class Demo4方格计数 {
	public static void main(String args[]) {
		int a, b;
		int r = 50000;// 半径长度
		int sum = 0;// 总个数
		int count=0;
		for (int i = 0; i < 50000; i+=9) {
			for (int j = 0; j < i/9; j++) {
				a = i + 1;
				b = j + 1;
				if (Math.sqrt(a * a + b * b) <= r  )
					sum++;
			}
		}
		for (int i = 0; i <50000; i+=9) {
			a = i + 1;
			
			for (int j = 1; j <9; j++) {
				b=i/9*j+1;
				if (Math.sqrt(a * a + a * a) <= r  )
					count++;
				else
					break;
			}
			
			
		}
		System.out.println((sum*9+count) * 4);
	}

}