給妳個思路試試吧
矩形長為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為底按上面方法算壹會
比較三個最大值!
呵呵,這是我想到的方法,但沒編代碼!希望對妳有幫助!