园划过的格子数可以退出公式,在园内的格子数我也推出了公式,但是后来发现错了,这个要枚举就行了。
两行之间要有空行,最后一组数据不需要,害我多WA了一次。
#include <stdio.h>
int ans[151];
int main()
{
int n, a, b;
for(int i = 1; i < 151; i++)
{
double r = i - 0.5;
int sum = 0;
for(int x = 1; x <= i; x++)
{
for(int y = 1; y <= i; y++)
{
if(x * x + y * y < r * r) sum++;
}
}
ans[i] = 4 * sum;
}
bool mk = 0;
while(~scanf("%d", &n))
{
if(mk) printf("\n");
mk = 1;
printf("In the case n = %d, %d cells contain segments of the circle.\n", n, 8 * n - 4);
printf("There are %d cells completely contained in the circle.\n", ans[n]);
}
return 0;
}