例如,假设我得到了大量的i
作为列表索引,并想弄清楚列表索引中的元素对应于Rootish ArrayStack中的哪个块和块索引。例如:
List index i = 8, I know that I am in block r = 3 and within that block, I am at index 2
由于这个列表索引很小,我可以用 Rootish ArrayStack 的小草图进行计算,但对于更大的列表索引,这不再是一个合理的选择。有没有某种数学方程可以插入我的列表索引并解决这个问题?
谢谢
术语:i 表示索引(在示例中 = 8),b 表示块 (3),j 表示 b (2) 中的索引
- 解决天花板 b; (B+1)(b+2)/2 = i+1; (仅正根适用)
- 求解 j; j = i - b*(b+1)/2;
示例:对于您提供的情况;i=8
- 第一个二次的根为 -6,3(天花板后)=> 选择 3
- j = 8-6=2
使用固定二次,您可以提出一个公式来求解正根。