约瑟夫的新问题
题目描述
将1~ M这M个自然数按由小到大的顺序沿顺时针方向围成一圈。 以S为起点,先沿顺时针方向数到第N个数就出圈,然后再沿逆时针方向数到第K个数再出圈,再沿顺时针方向数到第N个数就出圈,然后再沿逆时针方向数到第K个数再出圈,...这样按顺时针方向和逆时针方向不断出圈,直到全部数都出圈为止。
请打印先后出圈的数的序列。
输入
4行,每行为一个自然数,分别表示M,S,N,K,值都不超过1000.
输出
一行包含N个正整数,之间用一个空格隔开,表示先后出圈的数的序列。
样例输入
8
1
3
2
样例输出
3 1 5 2 7 4 6 8
数据范围与提示
(输出样例解释:先从1 开始沿顺时针方向数到3,所以3 先出圈;再从2 开始沿逆时针方向数到1,所以1 出圈;再从2 开始沿顺时针方向数到5,所以5 出圈,再从4 开始沿逆时针方向数到2,所以2 出圈,……)
信息
- ID
- 2693
- 难度
- 9
- 分类
- (无)
- 标签
- 递交数
- 1
- 已通过
- 1
- 通过率
- 100%
- 上传者