Maison  >  Article  >  interface Web  >  Question amusante JavaScript : balle rebondissante

Question amusante JavaScript : balle rebondissante

黄舟
黄舟original
2017-02-13 16:05:521405parcourir

Un vilain enfant joue avec une balle rebondissante sur un grand bâtiment qui mesure h mètres de haut. h se mesure en mètres.

Ensuite, il a lancé la balle rebondissante, et la balle a rapidement rebondi à la hauteur du rebond d'origine, comme 2/3 tiers.

Sa mère est actuellement à une hauteur de fenêtre, regardant par la fenêtre, la fenêtre devrait être plus petite que h, c'est-à-dire. , Sa mère était définitivement en dessous de lui.

Excusez-moi, combien de fois cette mère peut-elle voir le ballon devant la fenêtre ? Comprend à la fois le déclin et le rebond.

Remarque :

Seulement si la hauteur du rebond de la balle est absolument supérieure à la fenêtre, cette mère peut le voir.

Exemple :

h = 3, rebond = 0,66, fenêtre = 1,5, le résultat est 3

h = 3 , rebond = 1, fenêtre = 1,5, le résultat est -1

S'il y a une valeur aberrante ici, -1 sera renvoyé.

Alors, qu’est-ce qui est considéré comme une valeur aberrante ?

1.rebondTaux de rebondb78e48ec1e681efc136cf9e7649ad32d=1, une telle situation est évidemment impossible

2. La taille du vilain enfant est inférieure à celle de sa mère, donc cela n'a aucun sens Retournez directement à

D'accord, regardons l'idée :

1. Dans des circonstances normales, la mère verra le ballon rebondissant au moins une fois lorsqu'il tombera pour la première fois.

2. Si la hauteur de rebond est supérieure à la

fenêtre

, alors vous devez ajouter 2 fois à chaque fois que vous montez et descendez. Eh bien, éliminez d'abord les valeurs aberrantes, puis écrivez selon l'idée ci-dessus :


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;
}
Ce qui précède est une question JavaScript intéressante : balle rebondissante Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn