Есть ли какой-либо шаблон в этой последовательности? - PullRequest
0 голосов
/ 23 марта 2012

Я хотел бы знать, видит ли кто-нибудь образец в последовательности, приведенной ниже. Все, что я знаю, это то, что разница между любыми последовательными строками равна 1, т.е.

(MQA (некоторый оператор) 1 = YwA)

и что первая строка представляет 1 или 0 в числовом порядке. Мои наблюдения пока:

  • Последний символ увеличивается на 4 (т.е. A + 4 = E, E + 4 = I) после каждых 5 строки
  • От второго до последнего символа всегда чередуются буквы 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 ]

8 голосов
/ 23 марта 2012

Похоже на арифметическую последовательность чисел (с шагом 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".

2 голосов
/ 23 марта 2012

Сразу над головой, посмотрите на первый символ:

>>> 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, ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...