急求一个编程的程序:计算在一个矩形内放最多的相等大小的圆形的数量!!!!
答案:3 悬赏:40 手机版
解决时间 2021-02-14 18:18
- 提问者网友:爱了却不能说
- 2021-02-14 04:33
急求一个编程的程序:计算在一个矩形内放最多的相等大小的圆形的数量!!!!
最佳答案
- 五星知识达人网友:春色三分
- 2021-02-14 06:07
呵呵,简单也难
给你个思路试试吧
矩形长为a
宽为b
圆的半径为r
设个数为n
摆放方式有2中
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0
0 0 0 0 0
判断第一种情况
n=a\(2*r)*b/(2*r)
判断第二种情况
1.先排第一排
n1=a/(2*r)--取整
y=a%(2*r)--取余
间隔为d=y/(n1-1)
于是相邻两个之间的圆心距就是2*r+d
再求一个以2*r为腰,2*r+d为底的等腰三角型的高,高加半径r即第二排圆心的标高!
而第二排的个数是第一排的n-1,第三排的标高为二排再加上一个高,个数为n,
以此类推,算出总个数
然后在以b为底按上面方法算一会
比较三个最大值!
呵呵,这是我想到的方法,但没编代码!希望对你有帮助!
给你个思路试试吧
矩形长为a
宽为b
圆的半径为r
设个数为n
摆放方式有2中
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0
0 0 0 0 0
判断第一种情况
n=a\(2*r)*b/(2*r)
判断第二种情况
1.先排第一排
n1=a/(2*r)--取整
y=a%(2*r)--取余
间隔为d=y/(n1-1)
于是相邻两个之间的圆心距就是2*r+d
再求一个以2*r为腰,2*r+d为底的等腰三角型的高,高加半径r即第二排圆心的标高!
而第二排的个数是第一排的n-1,第三排的标高为二排再加上一个高,个数为n,
以此类推,算出总个数
然后在以b为底按上面方法算一会
比较三个最大值!
呵呵,这是我想到的方法,但没编代码!希望对你有帮助!
全部回答
- 1楼网友:大漠
- 2021-02-14 07:22
这个题有问题吧?
矩形和放的圆形大小是一样的面积吗?是的话,只能放一个!
面积不一样的话,按常规逻辑来说,应该是矩形面积大,但是你只说“放相等大小的圆”,圆的面积有大小吗?也没有,那这样相同的圆可以无限大,也可以无限小,同样矩形也没限制面积大小!
这个问题没法用程序,或者说用常规思维去解!
- 2楼网友:鱼芗
- 2021-02-14 06:12
呵呵,简单也难
给你个思路试试吧
矩形长为a
宽为b
圆的半径为r
设个数为n
摆放方式有2中
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0
0 0 0 0 0
判断第一种情况
n=a\(2*r)*b/(2*r)
判断第二种情况
1.先排第一排
n1=a/(2*r)--取整
y=a%(2*r)--取余
间隔为d=y/(n1-1)
于是相邻两个之间的圆心距就是2*r+d
再求一个以2*r为腰,2*r+d为底的等腰三角型的高,高加半径r即第二排圆心的标高!
而第二排的个数是第一排的n-1,第三排的标高为二排再加上一个高,个数为n,
以此类推,算出总个数
然后在以b为底按上面方法算一会
比较三个最大值!
呵呵,这是我想到的方法,但没编代码!希望对你有帮助!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯