zoukankan      html  css  js  c++  java
  • 方格计数 ——蓝桥杯算法

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

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

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

    算法分析:

    代码实例:

    //本算法题的通用方法,在实际提交的时候应该将输入语句删除,直接将n换为本题中要求的数值1000
    public
    class 求方块的个数 { public static void main(String args[]) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); int sum =0; int x =(int)Math.floor(n/Math.sqrt(2)); //算出最小的方格横排的数量 int y = x; while(y>=1) { if(x*x+y*y<=n*n && (x+1)*(x+1)+y*y>n*n) {//利用勾股定理进行判断 sum+=x; y--; }else{ x++; } } int r= (int)Math.floor(n/Math.sqrt(2)); //算出最大被切割的个数 sum=sum+sum-r*r; System.out.println("共有"+sum*4+"个正方形"); } }
  • 相关阅读:
    转DataBinder.Eval总结
    ASP.NET环境下XML导出导入数据方法
    iOS开发中GCD在多线程方面的理解
    hdu 1678 优先队列
    hdu 1565 状态压缩DP
    hdu 1175 连连看
    hdu 1078 记忆化搜索
    hdu 1506
    hdu 1521 记忆化搜索
    三大博弈[转]
  • 原文地址:https://www.cnblogs.com/lsy2019/p/10552248.html
Copyright © 2011-2022 走看看