方格计数
如图p1.png所示,在二维平面上有无数个1x1的小方格。
我们以某个小方格的一个顶点为圆心画一个半径为1000的圆。
你能计算出这个圆里有多少个完整的小方格吗?
解析:穷举法,找出所有第一象限中正方形右上角的点,判断是否在圆内,利用勾股定理判断小于圆的半径即为满足条件的,累计得数*4
1 #include <stdio.h> 2 #define R 3 3 int main() 4 { 5 int i,j,s=0; 6 for(i=R-1;i>0;i--) 7 for(j=1;j<R;j++) 8 if(i*i+j*j<=R*R) 9 s++; 10 printf("这个圆里有%d个完整的小方格\n",4*s); 11 getchar(); 12 getchar(); 13 return 0; 14 }