首頁  >  文章  >  web前端  >  JavaScript趣題:彈力球

JavaScript趣題:彈力球

黄舟
黄舟原創
2017-02-13 16:05:521406瀏覽

一個熊小孩在h米高的高大建築上玩彈力球,h是按米來算的。

然後,他拋出了彈力球,球很快就反彈了原來bounce的高度,例如2/3三分之二

他母親此時正在window米高的地方,望著窗外,window應該是小於h的,也就是說,他母親肯定是在他下方。

請問,這位母親能在窗前看到球幾次?既包括下落,也包括反彈。

注意:

只有球反彈的高度絕對大於window,這位母親才能看到。

範例:

h = 3, bounce = 0.66, window = 1.5, 結果是3

h = 3, boutinnce = 1,

h = 3, bounce = 1, bouwins = 1.5,3, bou片win異常值,則傳回

-1

那什麼情況算異常值?

1.

bounce反彈率或>=1,這樣的情況顯然不可能

2.熊孩子所處的高度比他母親還低,那就沒意義了,直接回

-1

好了,來看思路:

1.正常情況下,彈力球第一次下落,母親至少會看到一次。

2.若反彈起來的高度大於

window,那麼一上一下,就要加上2次。

嗯,先排除異常值,再按照上面的思路來寫:


function bouncingBall(h,  bounce,  window) {
    var total = -1;
    if(bounce <= 0 || bounce >= 1){
        return total;
    }
    if(h > window){
        total = 1;
        var current = h * bounce;
        while(current > window){
            total += 2;
            current = current * bounce;
        }
    }
    return total;
}

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

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