TypeScript Min Perimeter Rectangle
function minPerimeterRectangle(n: number): number {
  let i = 1;
  let min = Infinity;

  while (i * i < n) {
    if (n % i === 0) {
      min = Math.min(min, 2 * (i + n / i));
    }
    i++;
  }

  return min;
}

This searches factor pairs up to the square root and picks the pair with the smallest perimeter.