这个序列中有任何模式吗?

时间:2012-03-23 07:39:41

标签: python regex math sequences

我想知道是否有人看到下面给出的序列中的模式。我所知道的是,任何连续行之间的差异是1,即

  

(MQA(某些运算符)1 = YwA)

并且第一行按数字顺序表示1或0。到目前为止我的观察结果:

  • 最后一个字符在每5个之后递增4(即A + 4 = E,E + 4 = I) 行
  • 倒数第二个字符总是Q和w交替(不是 确定这是否会在序列中稍后改变)

我对任何其他观察都很感兴趣。有什么建议吗?

MQA 
YwA
lQA
xwA
+QA
KwE
XQE
jwE
wQE
8wE
JQI
VwI
iQI
uwI
7QI
HwM
UQM
gwM
tQM
5wM
GQQ
SwQ
fQQ
rwQ
4QQ
EwU
RQU
dwU
qQU
2wU
DQY
PwY
cQY
owY
1QY
Bwc
OQc
awc
nQc
zwc
AQg
Mwg
ZQg
lwg
yQg
+wg
LQk
Xwk
kQk
wwk

2 个答案:

答案 0 :(得分:8)

看起来像是一个数字的算术序列(增量50),以base64编码,但删除了终止“=”。当你添加它并解码时,你得到:

$ sed -e 's/$/=/' test.txt | base64 -d | od -t u2
0000000    49    99   149   199   249   299   349   399
0000020   449   499   549   599   649   699   749   799
0000040   849   899   949   999  1049  1099  1149  1199
0000060  1249  1299  1349  1399  1449  1499  1549  1599
0000100  1649  1699  1749  1799  1849  1899  1949  1999
0000120  2049  2099  2149  2199  2249  2299  2349  2399
0000140  2449  2499

第一个数字49对应于ASCII码“1”。

答案 1 :(得分:2)

就在我的头顶,看看第一个角色:

>>> ord('M'), ord('Y'), ord('l'), ord('x'), ord('+'), ord('K'), ord('X'), ord('j'), ord('w'), ord('8'), ord('J'), ord('V'), ord('i'), ord('u'), ord('7'), ord('H')
(77, 89, 108, 120, 43, 75, 88, 106, 119, 56, 74, 86, 105, 117, 55, 72)

不断。你会发现它不断增加,然后溢出。可能是一个越来越多的数字,编码在一些巨大的基础上,你会看到它的最后3个字符。

在Base64中

编辑:

b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
ord = lambda x: b64.index(x)
ord('M'), ord('Y'), ord('l'), ord('x'), ord('+'), ord('K'), ord('X'), ord('j'), ord('w'), ord('8'), ord('J'), ord('V'), ord('i'), ord('u'), ord('7'), ord('H')

出来:

(12, 24, 37, 49, 62, 10, 23, 35, 48, 60, 9, 21, 34, 46, 59, 7)

现在,那是+ 12,+ 13,+ 12,+ 13,......