【发布时间】:2012-07-30 20:00:51
【问题描述】:
您好,我需要通过计算数组中的元素来计算矩阵大小, 例如,如果我在列表中有 25 个元素,我需要得到列 = 5 和矩阵中的第 5 行, 如果 26 个元素 5 列 6 行等。 谢谢。
【问题讨论】:
-
似乎比编程问题更数学。作为提示:尝试使用
Math.Sqrt和Math.Celling函数。尝试一些东西,向我们展示你到目前为止所做的尝试。
标签: c#
您好,我需要通过计算数组中的元素来计算矩阵大小, 例如,如果我在列表中有 25 个元素,我需要得到列 = 5 和矩阵中的第 5 行, 如果 26 个元素 5 列 6 行等。 谢谢。
【问题讨论】:
Math.Sqrt和Math.Celling函数。尝试一些东西,向我们展示你到目前为止所做的尝试。
标签: c#
我不知道你的具体要求是什么,但是如果你想生成一个不浪费太多空间的近似方阵,
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 个元素。
【讨论】: