首頁  >  文章  >  web前端  >  JavaScript趣題:蓋房子

JavaScript趣題:蓋房子

黄舟
黄舟原創
2017-02-15 14:11:361736瀏覽

我們計劃建造一個N層樓的房子,它的設計藍圖是這樣的:

最下面一層樓的體積是N3次方,倒數第二層的體積是( N-1)3次方,以此類推,頂層的體積是13次方。

現在問題來了,因為各種因素的考慮,設計師決定把總體積限制在M

M體積有沒有可能剛好蓋好這棟房子?

請注意,不能多一點,也不能少一點。

如果能,請返回層數N

函數原型如下:

 findNb (M)

回傳值是整數,如果無法做到,請回傳-1


findNb(1071225) // --> 45层
findNb(91716553919377) // --> -1

思路:

我給定了總體積M,那就從頂層開始,依次減去每一層的體積,直到M。

若等於0,那就是,剛好可以蓋好房子,回層數。

若為負數,那就說明,體積M不合適,回傳-1

function findNb(m) {
    var nb = 1;
    while(m > 0){
        m -= Math.pow(nb++,3);
    }
    return m == 0 ? nb - 1 : -1;
}

以上就是JavaScript趣題:蓋房子的內容,更多相關內容請關注PHP中文網(www.php.cn)!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn