本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
如下图所示,在二维平面上有无数个 1×1 的小方格。
我们以某个小方格的一个顶点为圆心画一个半径为 50000的圆。 你能计算出这个圆里有多少个完整的小方格吗?
运行限制
最大运行时间:1s
最大运行内存: 128M
思路:1.每个格子里圆心最远的顶点 离圆心的距离小于等于半径则该格子完整地在圆里。
2.运用勾股定理,i*i+j*j<=50000
3.先求出1/4的数目再乘4
4.暴力遍历50000*50000正方形中每一个方格
要用long:
java错误:编译出错,提示 The literal XXXXXXXXXXXXXXXX of type int is out of range
代码:
public class Main {
public static void main(String[] args) {
long count = 0;
for (long i = 1; i <= 50000; i++) {
for (long j = 1; j <= 50000; j++) {
if (i * i+j*j<= 50000*50000L){
count++;
}
}
}
System.out.println(count*4);
}
}
答案:7853781044
文章讲述了如何用Java编程计算一个半径为50000的圆内1x1小方格的数量。通过运用勾股定理和暴力遍历方法,得出答案并乘以4以获得整个圆内的完整小方格总数,但由于整数溢出问题导致编译错误。修正后的代码正确计算出答案为7853781044。
882

被折叠的 条评论
为什么被折叠?



