【发布时间】:2014-12-05 20:57:20
【问题描述】:
这是我的画:CLICK
我需要编写一个程序,它会找到正方形的数量(1x1),我们可以绘制成给定半径的圆。正方形只能完全绘制并像乐高积木一样放置 - 一个接一个。在某些情况下,正方形的顶点可以位于圆上。
示例:对于 1- 它产生 0,对于 2- 它产生四个,对于 3- 16 个正方形,对于 4-32,对于 5-52。
我已经写了一些东西,但是对于 5+(我的意思是半径大于 5)它不能正常工作。在这里:CLICK。在我的代码中,r 是圆的半径,sum 是所有正方形的总和,height 是我尝试“绘制”到圆中的三角形的高度(使用勾股定理)。
现在——有什么帮助吗?我的算法是否正确?我应该改变什么吗?
【问题讨论】:
-
您的示例对我来说看起来不正确。例如,在蓝色圆圈内看,有许多正方形(大约是绿色矩形占据的 1/2)也适合蓝色圆圈。
-
当您说 in 时,您希望方块完全在或部分在?
-
@Cyber 我正在准备更精确的绘图,整个正方形必须在圆圈内
-
@Cyber ,如您在此处看到的:i.imgur.com/vjUZdsc.jpg ,只有 1 到 4 的正方形适合圆圈,其余的 (5,6,7,8) 不正确。跨度>
-
@NWafel 哦,好吧,所以在您的原始示例中,正方形是您论文中的 2x2 网格。我以为你用的是网格纸上的 1x1 方格,我错了。
标签: c++ algorithm geometry pythagorean