algorithm - 计算 # 或行和列

标签 algorithm language-agnostic

我有 # 幅图像,我正在拼接成一个 Sprite 表,我如何计算行数和列数以均匀地适合一个偶数矩形(没有空格)?

一些例子:

6 images should become 2 rows, 3 columns

7 images should become 1 row, 7 columns

8 images should become 2 rows, 4 columns

9 images should become 3 rows, 3 columns

10 images should become 2 rows, 5 columns

希望这有助于解释它。

想法?

最佳答案

这是一个非常快速和简单的算法(其中 N 是图像的数量)

rows = floor(sqrt(N))
while(N % rows != 0)
     rows = rows - 1

rows 将是所需的行数。显然可以使用 N/rows 找到列。

希望对您有所帮助!

关于algorithm - 计算 # 或行和列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6377362/

相关文章:

c++ - 获取时间复杂度错误

language-agnostic - 项目与领域知识匹配

multithreading - 调试难以重现的并发错误的提示?

algorithm - 维护二叉树中的列表顺序

algorithm - 是否有任何有效的算法可以找到无向图中最长循环的长度?

mysql - 使用 SQL 删除匹配不同字段的记录

language-agnostic - 如何处理最大递归深度?

algorithm - 简单的压缩算法 - 如何避免标记字符串?

language-agnostic - 实际联邦假期/关闭数据库

algorithm - 二进制长除法时的位运算