100 #P1609. *【模拟】洗牌问题2

*【模拟】洗牌问题2

【题目】

桌上有一叠牌,从第一张牌(即位于顶面的牌)开始从上往下依次写上数字1~n。

不断进行洗牌操作,每次洗牌操作如下:

假如剩下 k(k2)k(k \ge 2) 张牌,把第一张牌扔掉。

然后从最上面那张牌往下算起,剩下的牌中抽出位置为奇数的牌,依次放到最后。

假如kk为偶数,即序列为:2468k2k1357k3k12,4,6,8 \dots k-2,k, 1,3,5,7 \dots k-3,k-1

假如kk为奇数,即序列为:2468k3k11357k2k2,4,6,8 \dots k-3,k-1,1,3,5,7 \dots k-2,k

求依次扔掉的牌的数字顺序是?

比如 k=6k=6

11张:1234561 2 3 4 5 6(扔掉的是1)

22张:352463 5 2 4 6 (扔掉的是3)

33张:26542 6 5 4 (扔掉的是2)

44张:5645 6 4 (扔掉的是5)

55张:464 6 (扔掉的是4)

66张:66 (扔掉的是6)

所以序列是:1325461 3 2 5 4 6

【输入格式】

一个正整数 k(2k10000)k (2 \le k \le 10000)

【输出格式】

输出扔掉的序列,相邻两个用一个空格隔开。

【样例输入】

6

【样例输出】

1 3 2 5 4 6