假定我有一个立方体铁块,我把它整体浸泡进装有红色颜料的桶中。
请注意,颜料是无法渗透进铁块的,也就是说只能给表面染色。
然后,我把铁块捞出来,对它进行切割。
铁块作为立方体有三个维度,我对它每一个维度都进行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趣题:统计蘸满了颜料的立方体数目的内容,更多相关内容请关注PHP中文网(www.php.cn)!