按元素列表计数查找方形矩阵大小

时间:2012-07-30 20:00:51

标签: c#

嗨我需要通过数组中的count元素计算矩阵大小, 例如,如果列表中有25个元素,我需要在矩阵中获取columns = 5和第5行, 如果26个元素5列6行等 感谢。

1 个答案:

答案 0 :(得分:1)

我不知道您的具体要求是什么,但如果您想生产一个不会浪费太多空间的近方矩阵,

int x = Math.Floor(Math.Sqrt(num_elems));
int y;
if (x*x == num_elems)
{
    y = x;
} else {
    y = x+1;
    if (x*y < num_elems)
    {
        ++x;
    }
}

生成最小矩阵的维度,行数和列数最多相差一个,可以容纳num_elems个元素。