在表中获取单元格行和列的算法

时间:2017-04-03 14:58:06

标签: algorithm

我正在构建一个函数,允许用户通过传入一个整数来选择动态创建的表中的单元格。
即,如果我有3x3网格,并且用户传入数字4,程序应该知道他想要第二行中的第一个单元格。 (细胞将按行计数) 正如我所提到的,该表是动态创建的,可以是任何大小 我可以用一堆if语句做到这一点,但我想知道是否有一种算法可以很容易地解决这个问题。

(P.S。我使用的是一种非常基本的编程语言,所以请不要花哨的pythonic数学函数...... :))

2 个答案:

答案 0 :(得分:1)

您需要做的就是除以列并找到余数。像这样:

input = 4
row = floor(input / columns)
column = input % columns

答案 1 :(得分:1)

假设输出应该是基于1的索引

input = n, k  // n * n grid, k number

row = floor( (k - 1) / n ) + 1;
col = k % n;
if(col == 0) {
    col += n;
}

// print row, col