文章目录
最近正在练习蓝桥杯的习题,做到第九届篮球杯的第二题(方格计数)的时候,发现没有思路,就上网上查了一些资料,感觉说的不够详细,可能也是大佬们都已经懂了,有些东西没必要说,今天小编在这里讲解一下自己的思路:
1.题目如下
- 1.题目如下
- 2.解题思路
- 3.详细讲解
- 4.代码实例
- 5.答案
如图p1.png所示,在二维平面上有无数个1x1的小方格。 我们以某个小方格的一个顶点为圆心画一个半径为1000的圆。 你能计算出这个圆里有多少个完整的小方格吗? 注意:需要提交的是一个整数,不要填写任何多余内容。
我们只看第一象限,圆心为坐标原点,一共四个象限,计算出一个象限的所有完整方格×4即可、在第一象限里面,以x轴递增的是i,以y轴递增的是j,我们找一个离圆点最近的小正方形(1×1)为例,利用勾股定理:对角线²=长²+宽²,可知道对角线长度的平方,那我们就可以利用每个正方形或者长方形从圆点到右上角距离(就是对角线)的平方跟1000×1000(r²)相比就行,只要比r²小的或者等于r²的,就是在范围之内了
3.详细讲解如下如所示: 我们紫色区域的半径为3的正方形,以x轴递增的是i,以y轴递增的是j,两个长方形所在的黄线他们的长度的平方分别为,短黄线:2²+1²=5,长黄线:3²+2²=13。再跟r²=3²=9相比较59,即长黄线不在范围内,短黄线在范围之内。
public class Lanqiao {
public static void main(String[] args) {
//这里定义一个计数器count,用来记录最终结果
int count = 0;
//题目要求的半径为1000的圆
int rr = 1000*1000;
//这里的1就代表第一个方格以此类推1000就代表第1000个方格
for(int i=1;i
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?