Arrays 是否将N*M*K数组的索引转换为N、M和K值?

Arrays 是否将N*M*K数组的索引转换为N、M和K值?,arrays,Arrays,假设我有一个3*3*33D数组 如果我在数组的位置[1,1,1]有一个元素,我可以通过1*3*3+1*3+1=13 但我需要做相反的事情。我需要将13转换为[1,1,1]。如何做到这一点?使用模运算: 其中,/是整数除法,%是余数 编辑:让我们概括一下 # you have M = N = K = 3 [M, N, K] array 和任意的值(13) 如果mD数组 [N1, N2, ..., Ni, ..., Nm] 我们有 i-th index = value / Nm / N

假设我有一个
3*3*3
3D数组

如果我在数组的位置
[1,1,1]
有一个元素,我可以通过
1*3*3+1*3+1=13

但我需要做相反的事情。我需要将
13
转换为
[1,1,1]
。如何做到这一点?

使用模运算:

其中,
/
是整数除法,
%
是余数

编辑:让我们概括一下

  # you have M = N = K = 3
 [M, N, K] array
和任意的
值(
13

如果
mD
数组

 [N1, N2, ..., Ni, ..., Nm]
我们有

 i-th index = value / Nm / Nm-1 / ... / Ni+1 % Ni

13%3==1
13/3%3==1
?2d阵列的问题也一样,只是更容易掌握。你能先算出2d,然后从那个里推断出来吗?对不起,不清楚,我想我在所有地方都用了3。你能用N M K符号告诉我吗。你能不能用括号来表示哪个手术先来这当然是正确的,但恐怕这对手术来说只是毫无意义的咒语,因为他不理解这里发生的事情的本质。(如果他做到了,他将能够自己解决这个反向转换)。某种形式的想象可能会有所帮助,但产生一个好的想象是一项艰巨的工作/
 [N1, N2, ..., Ni, ..., Nm]
 i-th index = value / Nm / Nm-1 / ... / Ni+1 % Ni