2012-07-30 85 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元素的列。