The ancient Greeks consider the golden rectangle as the most aesthetically pleasing rectangular shape. Unfortunately for the ancients this ratio cannot be achieved if the sides are rational numbers let alone integers.
In this problem we are asked to find the perimeter of the rectangle with integer sides with area within the given area interval
, and in which the side ratio is as close as possible to the golden ratio, that is the absolute value,
, is minimized.
For example, if
and
, the correct dimensions should be
, therefore the perimeter should be
:
>> A1 = 20000; A2 = 30000; phi = (sqrt(5)+1)/2; a = Inf;
>> for i = 1:A2
for j = ceil(A1/i):floor(A2/i)
r = max(j/i,i/j);
if abs(r-phi) < a
p = 2 * (i + j);
a = abs(r-phi);
end
end
end
>> p
p =
644
Solution Stats
Solution Comments
Show comments
Loading...
Problem Recent Solvers6
Suggested Problems
-
1251 Solvers
-
Rotate input square matrix 90 degrees CCW without rot90
697 Solvers
-
Construct an index vector from two input vectors in vectorized fashion
461 Solvers
-
I've got the power! (Inspired by Project Euler problem 29)
146 Solvers
-
Matrix rotation as per given angle
120 Solvers
More from this Author116
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!