MENU

第九届蓝桥杯 Java A—— 方格计数

March 22, 2019 • Read: 4026 • 算法阅读设置

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

我们以某个小方格的一个顶点为圆心画一个半径为 1000 的圆。
你能计算出这个圆里有多少个完整的小方格吗?

  • public class Main {
  • public static void main(String[] args) {
  • long R = 1000 * 1000L;
  • long ans = 0L;
  • for (long x = -10000; x <= 10000; x++)
  • for (long y = -10000; y <= 10000; y++) {
  • long x1 = x + 1, y1 = y;
  • long x2 = x + 1, y2 = y - 1;
  • long x3 = x, y3 = y - 1;
  • if (x * x + y * y <= R && x1 * x1 + y1 * y1 <= R && x2 * x2 + y2 * y2 <= R && x3 * x3 + y3 * y3 <= R)
  • ans++;
  • }
  • System.out.println(ans);
  • }
  • }
Archives Tip
QR Code for this page
Tipping QR Code