- f[n] 数组
- 记录从0开始编号,一共有n个人,喊到k 的人 ,杀掉的人编号是f[n]
- 0 1 2 3 4 5 — k-1 k ----n-1. 这是f[n] 的情况
- 杀掉喊k的人= = 编号k-1,把杀掉这个人之后的人重新编号
- k k+1 k+2 ————n-2。 这是f[n-1]的情况
- 整一个下标变换 f[n]=(f[n-1] + k)%n
- 有的是从1开始编号,那输出结果+1 就可以了
- 初使化 f[1] = 0
约瑟夫环【数学推导方式求解】
最新推荐文章于 2021-09-09 16:29:54 发布