How to generate square-ish rectangle dimensions for any specified area

2 views (last 30 days)
Hi all, given an arbitrary positive integer N, how can I calculate two integer factors A and B subject to A*B = N with the restriction that A should be close to B. In other words, if N is 12 then I would prefer the solution A=3,B=4 over A=2,B=6. Thanks!

Accepted Answer

Image Analyst
Image Analyst on 3 May 2014
Try this:
a=floor(sqrt(N)) % First integer less than sqrt.
b = ceil(N/a) % If fraction, make next largest integer.
  1 Comment
Eric Sampson
Eric Sampson on 3 May 2014
Thanks IA, I knew it should be something like that but my brain is just a little fried at the end of the week. Have a great weekend! :)

Sign in to comment.

More Answers (0)


Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!