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 rebond<=0 ou >=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; }