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

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

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

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;

返回,错误。

目录
相关文章
|
6月前
|
算法 测试技术 C#
【多数组合 数学 字符串】2514. 统计同位异构字符串数目
【多数组合 数学 字符串】2514. 统计同位异构字符串数目
|
4月前
|
运维 安全 Serverless
函数计算产品使用问题之怎么调整单个服务下最大允许创建的函数个数
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
6月前
求两个整数的较大值
两幅图片展示,无文字描述。第一张图链接源为:[结果](https://so.csdn.net/so/search?q=%E7%BB%93%E6%9E%9C&spm=1001.2101.3001.7020)。
35 1
求两个整数的较大值
算法训练Day27|39. 组合总和● 40.组合总和II● 131.分割回文串
算法训练Day27|39. 组合总和● 40.组合总和II● 131.分割回文串
|
机器学习/深度学习
将迭代次数问题几何化的一个计算例子
神经网络调参,设置迭代次数
115 0
将迭代次数问题几何化的一个计算例子
|
C语言
用函数方法来比较三个数字中的较大值(常规,函数)
用函数方法来比较三个数字中的较大值(常规,函数)
129 0
用函数方法来比较三个数字中的较大值(常规,函数)
|
存储
使用程序计算近似Π值
现在大多数语言,只需要调用一下Math.PI就可以知道Π值了。但是你有没有想过这个PI是怎么来的,是直接存储吗?还是计算来的。虽然不知道具体是怎么实现的,但是我们可以使用一些简单的数学知识,来计算出近似的Π值。
191 0