给定一个数值,计算最合适的行列数量的代码

简介: 给定一个数值,计算最合适的行列数量的代码

其实代码很简单,需要的可以参考下。


int   countToRowColumn(const int count, int* pRows, int* pColumns)
{
    //这两个变量可以省略。
    int rows    = 0;
    int columns = 0;
    if (count <= 0 || pRows == NULL || pColumns == NULL)
    {
        return -1;
    }
    //先计算列数。
    columns = sqrt(count);
    if (columns*columns < count)
    {
        columns ++;
    }
    //再计算行数。
    rows   = count/columns;
    if (rows*columns < count)
    {
        rows ++;
    }
    *pRows    = rows;
    *pColumns = columns;
    return 0;
}


以5为例计算中间过程:


columns=2


columns=3


rows = 1


rows = 2


返回。



有人如下代码如何,是不是更精简?


rows    = sqrt(count);
columns = rows;
if (rows*columns<count)
{
    columns++;
}
count=3;
rows=1;
columns=1;
columns=2;


返回,错误。

目录
相关文章
|
3月前
一个16位的数以4位为一组分割,然后将各部分相加获取最终结果。
一个16位的数以4位为一组分割,然后将各部分相加获取最终结果。
|
8月前
|
算法
算法训练Day27|39. 组合总和● 40.组合总和II● 131.分割回文串
算法训练Day27|39. 组合总和● 40.组合总和II● 131.分割回文串
|
10月前
|
存储 算法 前端开发
前端算法-除自身外数组的乘积
前端算法-除自身外数组的乘积
|
11月前
39. 组合总和
39. 组合总和
|
C语言
用函数方法来比较三个数字中的较大值(常规,函数)
用函数方法来比较三个数字中的较大值(常规,函数)
97 0
用函数方法来比较三个数字中的较大值(常规,函数)
Day27——39. 组合总和 40.组合总和II 131.分割回文串
Day27——39. 组合总和 40.组合总和II 131.分割回文串
75 0
|
存储
使用程序计算近似Π值
现在大多数语言,只需要调用一下Math.PI就可以知道Π值了。但是你有没有想过这个PI是怎么来的,是直接存储吗?还是计算来的。虽然不知道具体是怎么实现的,但是我们可以使用一些简单的数学知识,来计算出近似的Π值。
159 0
|
Java
如何计算线程数的最优值?——咱有公式
如何计算线程数的最优值?——咱有公式
169 0
如何计算线程数的最优值?——咱有公式
|
SQL
【TP5.1】数据包含在一位数组内内并且计算某一列的总和
【TP5.1】数据包含在一位数组内内并且计算某一列的总和
104 0
【TP5.1】数据包含在一位数组内内并且计算某一列的总和

热门文章

最新文章