我正在构建一个函数,允许用户通过传入一个整数来选择动态创建的表中的单元格。
即,如果我有3x3网格,并且用户传入数字4,程序应该知道他想要第二行中的第一个单元格。 (细胞将按行计数)
正如我所提到的,该表是动态创建的,可以是任何大小
我可以用一堆if语句做到这一点,但我想知道是否有一种算法可以很容易地解决这个问题。
(P.S。我使用的是一种非常基本的编程语言,所以请不要花哨的pythonic数学函数...... :))
答案 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