Guest User

Untitled

a guest
Dec 11th, 2017
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.44 KB | None | 0 0
  1. function getDist(num) {
  2. let sqrt = Math.ceil(Math.sqrt(num));
  3. let sideLengthOfSq = (sqrt % 2 === 0 ? sqrt + 1 : sqrt);
  4. let highestNumInSq = sideLengthOfSq * sideLengthOfSq;
  5. let targetDistFromCorner = (highestNumInSq - num) % (sideLengthOfSq - 1);
  6. let targetDistFromSideCenter = Math.abs(targetDistFromCorner - Math.floor(sideLengthOfSq/2));
  7. const closestDistFromSq = (sideLengthOfSq - 1) / 2;
  8. return closestDistFromSq + targetDistFromSideCenter;
  9. }
Add Comment
Please, Sign In to add comment