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

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

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


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;


返回,错误。

目录
相关文章
|
存储 容器
List,linkeedlist集合介绍,特点,二者区别,增长因子,去重复
List,linkeedlist集合介绍,特点,二者区别,增长因子,去重复
|
9月前
|
算法 测试技术 C#
【多数组合 数学 字符串】2514. 统计同位异构字符串数目
【多数组合 数学 字符串】2514. 统计同位异构字符串数目
|
9月前
|
算法 搜索推荐 程序员
第四十七练 请以递归方式实现计算整数列表的最大值
第四十七练 请以递归方式实现计算整数列表的最大值
66 2
算法训练Day27|39. 组合总和● 40.组合总和II● 131.分割回文串
算法训练Day27|39. 组合总和● 40.组合总和II● 131.分割回文串
|
C语言
用函数方法来比较三个数字中的较大值(常规,函数)
用函数方法来比较三个数字中的较大值(常规,函数)
150 0
用函数方法来比较三个数字中的较大值(常规,函数)
|
存储 算法
四式解决回溯算法:组合+组合总和
给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。你可以按 任何顺序 返回答案。 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。
706 3
Day27——39. 组合总和 40.组合总和II 131.分割回文串
Day27——39. 组合总和 40.组合总和II 131.分割回文串
110 0