设最后求得答案为 ansi。
先令 ansi=i, 求的左右两边和,若右边的和小于 b,无解;左右两边分别大于 a, b,输出排列。
定义a和原先左边的差为 cha1,b和原先右边的差为 cha2,当 cha1>cha2 无解,否则从下标 1 开始,加上,与 i+cha1,交换。若 i+cha1 大于了最右端,与最右端交换后将最右端左移,然后修改 cha1。若不大于最右端,记录位退出。
判断该位置加上 cha1 是否过了 n/2,没有就将 ansn>>1 和 ans(n>>1)+cha1 交换,过了 n/2 让当前位置和当前位置+cha1的位置 交换。
输出的话,若是 a<b 正序输出,否则倒序输出。