悠闲数学娱乐论坛(第2版)'s Archiver

APPSYZY 发表于 2019-4-8 23:48

循环数列

给定数字$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$相对应的生成数列的通项公式。

APPSYZY 发表于 2019-4-8 23:53

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

APPSYZY 发表于 2019-4-9 07:57

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

APPSYZY 发表于 2019-4-9 11:46

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

realnumber 发表于 2019-4-12 10:09

[b]回复 [url=http://kuing.orzweb.net/redirect.php?goto=findpost&pid=30715&ptid=6010]4#[/url] [i]APPSYZY[/i] [/b]


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

APPSYZY 发表于 2019-4-12 12:09

[b]回复 [url=http://kuing.orzweb.net/redirect.php?goto=findpost&pid=30780&ptid=6010]5#[/url] [i]realnumber[/i] [/b]
$a_1=0$
$a_n=(a_{n-1}+m) \mod i$
估计是求不出通项公式的

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.