免費論壇 繁體 | 簡體
Sclub交友聊天~加入聊天室當版主
分享
返回列表 发帖

[数列] 循环数列

给定数字$N$与$m$,表示在数列$1,2,\cdots,N-1,N$中从$1$开始,每$m$个数取出一个,直到取完为止,最终生成新的数列。
例如,当$N=17$,$m=5$时,得到的数列为:$1,6,11,16,5,12,2,9,17,10,4,15,14,3,8,13,7$。
求对于$N$和$m$相对应的生成数列的通项公式。
分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友

原题是:对于给定的正整数N和k,求最小的m使得数列的最后一项为k,在上面的例子里,就是对于给定的N=17和k=13,最小的m求出来是7,不知有没有通法

TOP

查了查发现,它和一个叫约瑟夫问题(Josephus Problem)的解决方法很像,但是资料里都没有找到通项公式的

TOP

现在有点怀疑,是不是只有递推公式而没有通项公式

TOP

回复 4# APPSYZY


    估计是了,
搜索到三个算法,(也许你也看过了)最后一种没明白,前2种比较好懂.
https://blog.csdn.net/ZHOUBEISI/article/details/52314603

TOP

回复 5# realnumber
$a_1=0$
$a_n=(a_{n-1}+m) \mod i$
估计是求不出通项公式的

TOP

返回列表 回复 发帖