一、题目一
第几天
2000年的1月1日,是那一年的第1天。
那么,2000年的5月4日,是那一年的第几天?
注意:需要提交的是一个整数,不要填写任何多余内容。
分析:
将每个月的天数加起来,闰年2月有29天
判断是否是闰年2000%400==0,是闰年
31+ 29+31+30+4=125
二、题目二
方格计数
如图p1.png所示,在二维平面上有无数个1x1的小方格。
我们以某个小方格的一个顶点为圆心画一个半径为1000的圆。
你能计算出这个圆里有多少个完整的小方格吗?
代码:
package lan2018;public class B方格计数 {/*方格计数如图p1.png所示,在二维平面上有无数个1x1的小方格。我们以某个小方格的一个顶点为圆心画一个半径为1000的圆。你能计算出这个圆里有多少个完整的小方格吗?*//*思路:我们将方格看出成一个一个的坐标,这个坐标存的是对角线的值,*/public static void main(String[] args) {int count = 0;for(int i = 1; i <= 1000; i++) { //遍历横坐标for(int j = 1; j <= 1000; j++) { //遍历纵坐标if(i*i + j*j <= 1000*1000) {count++;}}}System.out.println(count*4);}
}
反思:
因为圆是高度对称的,所以我们可以先算出1/4的小方格的个数(千万别忘了乘4)
我们将每个方格的右上角作为标记这个方格的坐标(x,y),当x^2+y^2 <=对角线的平方(及就是圆的半径),我们此时就认为这个方格再圆内.