假定我有一個立方體鐵塊,我把它整體浸泡進裝有紅色顏料的桶中。
請注意,顏料是無法滲透進鐵塊的,也就是說只能給表面染色。
然後,我把鐵塊撈出來,對它進行切割。
鐵塊作為立方體有三個維度,我對它每一個維度都進行N次平整切割,讓它變成更小的多個立方體。
比方說,我對每個面切割2次,就能得到27個小立方體,3*3*3。
現在問題來了,切割了N次,得到的小立方體中有多少個蘸上紅色顏料的? (一個或多個面染色的都算)
思路很簡單:
要求蘸上了顏料的立方體數,用小立方體總數目減去沒有被染上色的立方體數目即可得到。
注意事項:
假如我沒有進行切割,那麼結果應該為1。
於是便有了下面的程式碼:
var countSquares = function(cuts){ if(cuts == 0){return 1}; return Math.pow((cuts+1),3) - Math.pow((cuts-1),3); }
以上就是JavaScript趣題:統計沾滿了顏料的立方體數目的內容,更多相關內容請關注PHPcn網絡(www.php.cn) !