#6934. 旋转减半数

旋转减半数

题目背景

842105263157894736842105263157894736‬ 是一个很有趣的数字,因为如果将第一位数字 88 移动到最后,可以得到 421052631578947368421052631578947368,恰好是原来数字的一半。

这样旋转后恰好减半的数字在其他进制中也存在。比如在二进制下,10101010 就是一个旋转后减半的数字:

(1010)2=(0101)2+(0101)2(1010)_2 = (0101)_2 + (0101)_2

题目描述

给定一个正整数 bb,请求出 bb 进制下最小的旋转减半数,所谓旋转减半数,就是将第一位数字移动到最后一位后,得到的新数字恰好在 bb 进制下为原数字大小的一半。

如果不存在这样的数字,输出 None

输入格式

单个整数表示 bb

输出格式

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

2
1 0
10
1 0 5 2 6 3 1 5 7 8 9 4 7 3 6 8 4 2

数据范围

  • 对于 30%30\% 的数据,2b102\leq b\leq 10
  • 对于 60%60\% 的数据,2b2002\leq b\leq 200
  • 对于 100%100\% 的数据,2b20002\leq b\leq 2000