0

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

4

1 回答 1

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元素.

于 2012-07-30T20:08:13.983 回答