我需要找到纵横比恰好(或在 0.001 以内)某个值的最小尺寸。是否有任何快速数学技巧或框架技巧可以做到这一点?
这是我在 O(n^2)
中运行的当前坏想法的伪代码:
epsilon = 0.001;
from x = 1 to MAX_X
{
from y = 1 to MAX_Y
{
if(Abs(x / y - aspectRatio) <= epsilon)
{
return new Size(x, y);
}
}
}
return Size.Empty;
最佳答案
不寻常。您需要找到最大公约数并将宽度和高度除以它。该算法由 Euclid 提出,已有 2300 年历史。详情 are here .
关于c# - 与宽高比匹配的最小尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3511898/