考虑十进制的五的正整数幂。这是前25个,右对齐:
X 5^X
1 5
2 25
3 125
4 625
5 3125
6 15625
7 78125
8 390625
9 1953125
10 9765625
11 48828125
12 244140625
13 1220703125
14 6103515625
15 30517578125
16 152587890625
17 762939453125
18 3814697265625
19 19073486328125
20 95367431640625
21 476837158203125
22 2384185791015625
23 11920928955078125
24 59604644775390625
25 298023223876953125
请注意,幂的最右列是all 5
。右边的第二列是all 2
。从右侧,读从上到下,交替第三列1
,6
,1
,6
,等下一列开始3
,5
,8
,0
和然后循环。
实际上,每列(如果我们走得足够远的话)都有一个数字循环序列,其长度是前一个循环的两倍,除了初始5
的和2
循环。
调用N作为列号,从右边的N = 1开始,前几个循环是:
N cycle at column N
1 5
2 2
3 16
4 3580
5 17956240
6 3978175584236200
7 19840377976181556439582242163600
8 4420183983595778219796176036355599756384380402237642416215818000
挑战
给定正整数N,如上所述,在N列输出循环的十进制数字。例如,N = 4的输出为3580
。
这些数字可以以列表形式输出,例如[3, 5, 8, 0]
或以其他合理格式输出,只要:
- 这些数字按从右至右在功率列中读取的顺序排列。例如
0853
无效。 - 循环从其功率栏中的最高编号开始。例如
5803
无效,因为第4列以3
not 开头5
。 - 正好输出一个周期。例如
358
,35803
或35803580
全部无效。
您的代码必须至少在N = 1到30之间工作。
如果需要,您可以假定列是0索引而不是1索引。因此N = 0给出5
,N = 1给出2
,N = 2给出16
,N = 3给出3580
,依此类推。
以字节为单位的最短代码获胜。
2^(N-2)
除外N = 1