没有白走的路,每一步都算数
已知一个圆的半径,要求这个圆中有多少个小正方块。半径为R,每个小正方块的长度为1,这是一
道填空题,已知的是一个圆的半径是50000,计算有多少个方块
输出最终可以计算到的方块的数目
当半径为3的时候,右上角有四个,根据上下左右对称性,这个圆含有的小正方形的方块数位16
感觉还是好神奇,今天中午躺在床上休息的时候突然就想到这个解法,立马起来实现一波。
圆具有上下左右对称性,所以可以先计算右上角部分的方块,然后将这个数目乘以4就是答案
import os
import sys
import math
cnt = 0
n = 50000
for i in range(1,n):
j = n**2-i**2
cnt+=int(math.sqrt(j))
print(cnt*4)
摘自《《平凡的世界》:
要知道,春天的道路依然充满泥泞!