##### Short Problem Definition:

Find the minimal perimeter of any rectangle whose area equals N.

##### Link

##### Complexity:

expected worst-case time complexity is O(sqrt(N));

expected worst-case space complexity is O(1).

##### Execution:

Trivial search for the largest prime.

##### Solution:

import math def solution(N): if N <= 0: return 0 for i in xrange(int(math.sqrt(N)), 0, -1): if N % i == 0: return 2*(i+N/i) raise Exception("should never reach here!")

If you enjoyed this post, then make sure you subscribe to my Newsletter and/or Feed.