问题 5124 --旋转减半数

5124: 旋转减半数

题目描述

$842105263157894736‬$ 是一个很有趣的数字,因为如果将第一位数字 $8$ 移动到最后,可以得到 $421052631578947368$,恰好是原来数字的一半。 这样旋转后恰好减半的数字在其他进制中也存在。比如在二进制下,$1010$ 就是一个旋转后减半的数字: $$ (1010)_2 = (0101)_2 + (0101)_2$$ 给定一个正整数 $b$,请求出 $b$ 进制下最小的旋转减半数,所谓旋转减半数,就是将第一位数字移动到最后一位后,得到的新数字恰好在 $b$ 进制下为原数字大小的一半。 如果不存在这样的数字,输出 `None`。

输入

单个整数表示 $b$。

输出

若干个自然数,每个数字表示一位数字,每位数字在 $0$ 到 $b-1$ 之间,第一位不能为 $0$,每个数字间有一个空格。若不存在这样的数字,输出 `None`。

样例输入输出

输入#1 复制
2
输出#1 复制
1 0
输入#2 复制
10
输出#2 复制
1 0 5 2 6 3 1 5 7 8 9 4 7 3 6 8 4 2

提示

+ 对于 $30\%$ 的数据,$2\leq b\leq 10$; + 对于 $60\%$ 的数据,$2\leq b\leq 200$; + 对于 $100\%$ 的数据,$2\leq b\leq 2000$。
序号 标题 作者 发表时间 费用 订购数 操作