首頁 > web前端 > js教程 > 主體

JavaScript趣題:蓋房子

黄舟
發布: 2017-02-15 14:11:36
原創
1759 人瀏覽過

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

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

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

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

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

如果能,請返回層數N

函數原型如下:

 findNb (M)

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


findNb(1071225) // --> 45层
findNb(91716553919377) // --> -1
登入後複製

思路:

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

若等於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)!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板