我必须确定数学公式来计算一系列数字中的特定重复位置。数字列表无限重复,我需要在此列表中找到每n 个数字的数字。所以我想在重复y数字的列表中找到*n *th 项。
例如,如果我的列表有 7 位数字 (y=7),并且我需要每 5 个项目 (n=5),我如何找到该项目?该列表将是这样的(为了便于查看,我将其分为五组):
12345 67123 45671 23456 71234 56712 34567
我需要在第一个分组中找到 5,然后在第二个分组中找到 3,然后从第三组中找到 1,然后是 6,然后是 4,然后是 2,然后是 7。
这需要适用于y和n的任何数字。我通常使用模数来查找*n *th 个项目,但仅当列表数量不断增加且不重置时。
我正在尝试在 Javascript 或 JQuery 中执行此操作,因为它是基于浏览器的问题,但我不是很数学,所以我正在努力解决它。
谢谢!
编辑:我正在寻找一个理想的数学解决方案,但我会更多地解释这个问题,但这可能只会增加混乱。我有一个旋转木马排列的物品清单。在我的示例中,有 7 个唯一项目(可以是任何数字),但实际列表实际上是该大小的五倍(与上面的 5 个组无关),其中包含我创建的四组重复项。
为了产生滚动到无限远的错觉,列表位置在“最后”页面上重置(在此示例中有两个页面,因为项目 1-7 跨越了 5 个项目宽的视口)。上面的这些组代表页面,因为在我的示例中每页有 5 个项目。重复项提供了必要的填充,以填充在移动到下一页项目时可能出现的任何空白(例如,第 2 页以 6 和 7 开头,但如果不是重复的 1,2 和3)。当页面越过最后一页时(因此,如果我们尝试转到第 3 页),我会将它们重新定位到列表中的第一页,但会偏移,因此看起来它们仍然会永远向前。
这就是为什么我不能使用数组索引以及为什么有一个数学解决方案会很有用。我意识到那里有旋转木马可以完成与我想要实现的任务类似的任务,但我必须使用我拥有的那个!