Considérez une route comme une droite numérique, commençant 0et se poursuivant indéfiniment:
.................................................................
Il y a deux voitures sur la route: Cet R. Cest le flic qui essaie d'attraper R, le voleur. Ccommence à 0, et Rcommence quelque part sur la route:
C.............................R..................................
Le flic est déjà en mouvement - il poursuit le voleur. Il a une vitesse constante. Le voleur a sauté dans sa voiture. Il accélère. A chaque tick, la vitesse du voleur augmente par son accélération.
Disons que la vitesse du flic est 7et l'accélération du voleur est 1. Si le voleur commence 30, voici à quoi ressemblerait la route à chaque tick:
C.............................R..................................
.......C.......................R.................................
..............C..................R...............................
.....................C..............R............................
............................C...........R........................
...................................C.........R...................
..........................................C........R.............
.................................................C........R......
Après le dernier tick ci-dessus, la vitesse du voleur est égale à celle du flic, et il est toujours devant. Étant donné que le flic se déplace à une vitesse constante et que le voleur accélère toujours, le voleur s'échappe, vous produisez donc une valeur vraie. Cependant, si la vitesse du flic avait été 9...
C.............................R..................................
.........C.....................R.................................
..................C..............R...............................
...........................C........R............................
....................................C...R........................
.............................................X...................
... alors le flic rattrape le voleur avant que le voleur ne puisse s'enfuir (marqué par le X), vous produisez donc une valeur de falsey.
Ta tâche
Étant donné trois entrées - la vitesse du flic, la position du voleur et l'accélération du voleur - déterminez si le voleur s'en sortira ou non.
Règles
- Le flic commence toujours à
0. - Toutes les entrées seront des entiers positifs.
- Le flic attrape le voleur si, après un tick, la position du flic est supérieure ou égale à la position du voleur.
- Le voleur s'enfuit quand il n'a pas encore été attrapé et sa vitesse est supérieure à celle du flic.
- Votre programme doit se terminer après la sortie.
- Le voleur accélère avant de déplacer chaque tick.
Cas de test
Cop Speed, Robber Position, Robber Acceleration -> Output
7, 30, 1 -> truthy
9, 30, 1 -> falsey
2, 1, 3 -> truthy
100, 100, 50 -> truthy
60, 60, 20 -> falsey
10, 1, 1 -> falsey
10, 50, 2 -> truthy
11, 50, 2 -> truthy
12, 50, 2 -> truthy
13, 50, 2 -> truthy
14, 50, 2 -> truthy
15, 50, 2 -> truthy
16, 50, 2 -> falsey
17, 50, 2 -> falsey
18, 50, 2 -> falsey
100, 451, 10 -> truthy
Référence à l'implémentation de Python 3 qui crée également un visuel: Essayez-le en ligne!
C'est le code-golf , donc la réponse la plus courte en octets l'emporte.
robber acceleration, cop speed, robber positionplace)?