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

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

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


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;


返回,错误。

目录
相关文章
|
弹性计算 运维 监控
阿里云运维第一步(监控):开箱即用的监控
监控运维是一个体系化的工作,完善这个体系非一日之功。但是我们的业务不可一日无监控“裸奔”,在阿里云怎么样快速低成本的建立第一道资源监控的护城河?开箱即用的云监控,将会是你进入阿里云的第一个可靠的小伙伴。
14460 113
|
Prometheus Kubernetes 监控
性能分析之系统资源饱和度
【8月更文挑战第17天】性能分析之系统资源饱和度
147 0
性能分析之系统资源饱和度
|
11月前
|
XML 存储 缓存
C#使用XML文件的详解及示例
C#使用XML文件的详解及示例
438 0
IDEA创建多模块项目常用pom
IDEA创建多模块项目常用pom
488 8
|
数据安全/隐私保护
短视频解析单页源码
这个一个网页html解析短视频无水印视频的源码,电脑直接打开也可以本地使用,也可以上传到网站搭建成网页使用。
471 1
解决 Blocked a frame with origin “xxx“ from accessing a cross-origin frame
解决 Blocked a frame with origin “xxx“ from accessing a cross-origin frame
5089 0
|
前端开发 JavaScript 数据处理
在开发复杂表单时,如何在两种模式之间进行权衡
在开发复杂表单时,如何在两种模式之间进行权衡
|
机器学习/深度学习 自然语言处理 安全
LLM系列 | 16: 构建端到端智能客服
本文将综合之前多篇文章搭建一个带评估功能的**端到端智能客服系统**。整体流程大致如下: 检查输入,看看用户输入的query是否能够通过审核API;抽取出商品和对应的类别;抽取出商品信息;模型根据商品信息回答用户问题;将模型的回复输入审核API对回复进行审核。
LLM系列 | 16: 构建端到端智能客服
|
机器学习/深度学习 Ubuntu 算法
操作系统原理实验2:进程调度(在Ubuntu虚拟机gcc编译环境下
操作系统原理实验2:进程调度(在Ubuntu虚拟机gcc编译环境下
340 0
|
存储 XML JSON
如何选择离线数据集成方案-全量&增量
如何选择数据离线集成方式,哪些表适合全量集成,哪些表适合增量集成
917 0
如何选择离线数据集成方案-全量&增量