2012-07-30 75 views
0

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

+3

似乎是编程问题更数学。作为提示:尝试使用'Math.Sqrt'和'Math.Celling'函数。尝试一下,告诉我们你到目前为止所尝试的。 – 2012-07-30 20:04:25

回答

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元素的列。