Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Probe {
- val minX = 14
- val maxX = 50
- val minY = -225
- val maxY = -267
- val yVelocities = maxY..(maxY * -1)
- val xVelocities = 1..maxX
- @Test
- fun probes() {
- println( "Part 2 " + yVelocities.sumBy { yVel ->
- xVelocities.count { xVel ->
- throwProbe(yVel, xVel)
- }
- })
- }
- private fun throwProbe(yVel: Int, xVel: Int): Boolean {
- var yVelI = yVel
- var xVelI = xVel
- var x = 0
- var y = 0
- while (x <= maxX && y >= maxY) {
- if (x >= minX && y <= minY) {
- return true
- }
- x += xVelI
- y += yVelI
- if (xVelI != 0) xVelI -= 1
- yVelI -= 1
- }
- return false
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement